aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-04-24 20:44:45 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2007-04-24 20:44:45 +0000
commit4df28528f69a4400fed72d69792fc043d1ebd826 (patch)
tree99bf754860728790f12fd6d1c13768b33b045464 /gcc/tree-cfg.c
parent7c4a92651592752bb73c2f672f3fa358b6839c1f (diff)
downloadgcc-4df28528f69a4400fed72d69792fc043d1ebd826.zip
gcc-4df28528f69a4400fed72d69792fc043d1ebd826.tar.gz
gcc-4df28528f69a4400fed72d69792fc043d1ebd826.tar.bz2
re PR tree-optimization/31602 (Overflow warning causes GDB -Werror build failure)
./: PR tree-optimization/31602 * tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for conditionals in the copied loop header. * tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow warnings if TREE_NO_WARNING is set. * doc/invoke.texi (Warning Options): Clarify that -Wstrict-overflow does not warn about loops. testsuite/: PR tree-optimization/31602 * gcc.dg/Wstrict-overflow-11.c: We no longer issue a warning. From-SVN: r124120
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 191d310..a621d9d 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -416,7 +416,9 @@ fold_cond_expr_cond (void)
cond = fold (COND_EXPR_COND (stmt));
zerop = integer_zerop (cond);
onep = integer_onep (cond);
- fold_undefer_overflow_warnings (zerop || onep, stmt,
+ fold_undefer_overflow_warnings (((zerop || onep)
+ && !TREE_NO_WARNING (stmt)),
+ stmt,
WARN_STRICT_OVERFLOW_CONDITIONAL);
if (zerop)
COND_EXPR_COND (stmt) = boolean_false_node;