This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/60442] New: No -Wparentheses warning for "if (a += b)"


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60442

            Bug ID: 60442
           Summary: No -Wparentheses warning for "if (a += b)"
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: chengniansun at gmail dot com

The gcc trunk emits -Wparentheses warnings for "if(a = b)" and "if(a = a + b)",
but not "if(a += b)"


$: cat s.c 
int b;
int f(int a) {
  if (a = b) 
    return 0;
  else if (a = a + b)
    return 3;
  else if (a += b) /* <- no warning here*/ 
    return 2;
  else 
    return 1;
}
$: gcc-trunk -Wparentheses -c s.c 
s.c: In function âfâ:
s.c:3:3: warning: suggest parentheses around assignment used as truth value
[-Wparentheses]
   if (a = b) 
   ^
s.c:5:3: warning: suggest parentheses around assignment used as truth value
[-Wparentheses]
   else if (a = a + b)
   ^
$:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]