The -Wparentheses switch (as well as -Wall) doesn't catch logical assignments 
used as truth values. For example:

int i = 0;

if (i |= 1) {};
if (i ^= 1) {};
if (i &= 1) {};

-- 
           Summary: -Wparentheses doesn't catch all assignments used as
                    truth value
           Product: gcc
           Version: 3.4.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: glebius at FreeBSD dot org
                CC: gcc-bugs at gcc dot gnu dot org


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

Reply via email to