https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62153
Bug ID: 62153
Summary: warn for bool expression compared with integer
different from 0/1
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: manu at gcc dot gnu.org
#define X(x) (x == 1)
void foo(void)
{
int a;
if (X(a) == 2) {
return;
}
}
Clang++ warns for this by default:
test.c:6:12: warning: comparison of constant 2 with expression of type 'bool'
is always false [-Wtautological-constant-out-of-range-compare]
if (X(a) == 2) {
~~~~ ^ ~