diff options
author | Marek Polacek <polacek@redhat.com> | 2015-07-27 19:09:27 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2015-07-27 19:09:27 +0000 |
commit | f2afe6dd93ff0f07eabd85716ab767701c33e4f0 (patch) | |
tree | 345acc5884d42fd6642fbee07236f691cb326a41 | |
parent | cca444fb00473658e18f52209dc64709af2005b2 (diff) | |
download | gcc-f2afe6dd93ff0f07eabd85716ab767701c33e4f0.zip gcc-f2afe6dd93ff0f07eabd85716ab767701c33e4f0.tar.gz gcc-f2afe6dd93ff0f07eabd85716ab767701c33e4f0.tar.bz2 |
re PR bootstrap/67030 (ARM bootstrap failure due to [-Werror=tautological-compare])
PR bootstrap/67030
* c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
* c-c++-common/Wtautological-compare-2.c: New test.
From-SVN: r226264
-rw-r--r-- | gcc/c-family/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-family/c-common.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/Wtautological-compare-2.c | 15 |
4 files changed, 31 insertions, 0 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 4d2ed59..06853ea 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,5 +1,10 @@ 2015-07-27 Marek Polacek <polacek@redhat.com> + PR bootstrap/67030 + * c-common.c (warn_tautological_cmp): Don't warn for macro expansion. + +2015-07-27 Marek Polacek <polacek@redhat.com> + PR c++/66555 PR c/54979 * c-common.c (find_array_ref_with_const_idx_r): New function. diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 6a79b95..caa801e 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -1890,6 +1890,12 @@ warn_tautological_cmp (location_t loc, enum tree_code code, tree lhs, tree rhs) if (TREE_CODE_CLASS (code) != tcc_comparison) return; + /* Don't warn for various macro expansions. */ + if (from_macro_expansion_at (loc) + || from_macro_expansion_at (EXPR_LOCATION (lhs)) + || from_macro_expansion_at (EXPR_LOCATION (rhs))) + return; + /* 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)) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3e409dd..b769807 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-07-27 Marek Polacek <polacek@redhat.com> + + PR bootstrap/67030 + * c-c++-common/Wtautological-compare-2.c: New test. + 2015-07-27 H.J. Lu <hongjiu.lu@intel.com> PR target/66232 diff --git a/gcc/testsuite/c-c++-common/Wtautological-compare-2.c b/gcc/testsuite/c-c++-common/Wtautological-compare-2.c new file mode 100644 index 0000000..c8aecef --- /dev/null +++ b/gcc/testsuite/c-c++-common/Wtautological-compare-2.c @@ -0,0 +1,15 @@ +/* PR bootstrap/67030 */ +/* { dg-do compile } */ +/* { dg-options "-Wtautological-compare" } */ + +extern int foo (void); + +#define A a +#define B A +#define FOO (A > B) + +void +fn1 (int a) +{ + if (FOO); +} |