From f2afe6dd93ff0f07eabd85716ab767701c33e4f0 Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Mon, 27 Jul 2015 19:09:27 +0000 Subject: [PATCH] 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 --- gcc/c-family/ChangeLog | 5 +++++ gcc/c-family/c-common.c | 6 ++++++ gcc/testsuite/ChangeLog | 5 +++++ .../c-c++-common/Wtautological-compare-2.c | 15 +++++++++++++++ 4 files changed, 31 insertions(+) create mode 100644 gcc/testsuite/c-c++-common/Wtautological-compare-2.c diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 4d2ed59ea7a..06853ea86e9 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2015-07-27 Marek Polacek + + PR bootstrap/67030 + * c-common.c (warn_tautological_cmp): Don't warn for macro expansion. + 2015-07-27 Marek Polacek PR c++/66555 diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 6a79b95c27c..caa801e2adb 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 3e409dda43b..b769807a26a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-07-27 Marek Polacek + + PR bootstrap/67030 + * c-c++-common/Wtautological-compare-2.c: New test. + 2015-07-27 H.J. Lu 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 00000000000..c8aecefdecb --- /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); +} -- 2.30.2