https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61271
Bug ID: 61271
Summary: 3 * possible coding error with logical not (!)
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: dcb314 at hotmail dot com
I just compiled gcc trunk 20140521 with boot compiler clang++ -g -O2 -Wall
and it said
1.
../../src/trunk/gcc/cgraphunit.c:1182:8: warning: logical not is only applied
to the left hand side of this comparison [-Wlogical-not-parentheses]
Source code is
&& (! TREE_CODE (target_node->decl) == FUNCTION_DECL
Maybe
&& (TREE_CODE (target_node->decl) != FUNCTION_DECL)
was intended.
2.
../../src/trunk/gcc/config/i386/i386.c:37905:10: warning: logical not is only
applied to the left hand side of this comparison [-Wlogical-not-parentheses]
Source code is
|| (!GET_CODE (x) != LABEL_REF
Confusing with the double negative. Maybe
|| (GET_CODE (x) == LABEL_REF
was intended.
3.
../../src/trunk/gcc/cp/cp-array-notation.c:1420:7: warning: logical not is only
applied to the left hand side of this comparison [-Wlogical-not-parentheses]
Source code is
if (!TREE_CODE (type) == FUNCTION_TYPE)
{
error_at (loc, "array notation cannot be used with function type");
return false;
}
Maybe
if (TREE_CODE (type) == FUNCTION_TYPE)
{
error_at (loc, "array notation cannot be used with function type");
return false;
}
was intended.