• Linus Torvalds's avatar
    Add braces to avoid "ambiguous ‘else’" compiler warnings · ea719094
    Linus Torvalds authored
    commit 194dc870 upstream.
    
    Some of our "for_each_xyz()" macro constructs make gcc unhappy about
    lack of braces around if-statements inside or outside the loop, because
    the loop construct itself has a "if-then-else" statement inside of it.
    
    The resulting warnings look something like this:
    
      drivers/gpu/drm/i915/i915_debugfs.c: In function ‘i915_dump_lrc’:
      drivers/gpu/drm/i915/i915_debugfs.c:2103:6: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses]
         if (ctx != dev_priv->kernel_context)
            ^
    
    even if the code itself is fine.
    
    Since the warning is fairly easy to avoid by adding a braces around the
    if-statement near the for_each_xyz() construct, do so, rather than
    disabling the otherwise potentially useful warning.
    
    (The if-then-else statements used in the "for_each_xyz()" constructs are
    designed to be inherently safe even with no braces, but in this case
    it's quite understandable that gcc isn't really able to tell that).
    
    This finally leaves the standard "allmodconfig" build with just a
    handful of remaining warnings, so new and valid warnings hopefully will
    stand out.
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ea719094
dmar.c 49.4 KB