From: Jason Merrill Date: Tue, 17 Nov 2015 18:16:35 +0000 (-0500) Subject: re PR bootstrap/68346 (Bootstrap failure on i686-linux) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3e44547c936be9e741411e812fc1565f539641c1;p=gcc.git re PR bootstrap/68346 (Bootstrap failure on i686-linux) PR bootstrap/68346 * c-common.c (warn_tautological_cmp): Fold before checking for constants. From-SVN: r230471 --- diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 3151e343a1d..9ba2ea0ed4f 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,9 @@ +2015-11-17 Jason Merrill + + PR bootstrap/68346 + * c-common.c (warn_tautological_cmp): Fold before checking for + constants. + 2015-11-16 Marek Polacek PR c++/68362 diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 06d857cc970..f50ca48f4f2 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -1924,7 +1924,7 @@ warn_tautological_cmp (location_t loc, enum tree_code code, tree lhs, tree rhs) /* We do not warn for constants because they are typical of macro expansions that test for features, sizeof, and similar. */ - if (CONSTANT_CLASS_P (lhs) || CONSTANT_CLASS_P (rhs)) + if (CONSTANT_CLASS_P (fold (lhs)) || CONSTANT_CLASS_P (fold (rhs))) return; /* Don't warn for e.g. diff --git a/gcc/testsuite/g++.dg/warn/Wtautological-compare2.C b/gcc/testsuite/g++.dg/warn/Wtautological-compare2.C new file mode 100644 index 00000000000..9d9060de3d9 --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Wtautological-compare2.C @@ -0,0 +1,11 @@ +// PR bootstrap/68346 +// { dg-options -Wtautological-compare } + +#define INVALID_REGNUM (~(unsigned int) 0) +#define PIC_OFFSET_TABLE_REGNUM INVALID_REGNUM + +int main() +{ + if ((unsigned) PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM) + __builtin_abort(); +}