This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/33565] [4.3 regression] spurious warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true
- From: "ian at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Sep 2007 17:31:48 -0000
- Subject: [Bug tree-optimization/33565] [4.3 regression] spurious warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true
- References: <bug-33565-7958@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from ian at gcc dot gnu dot org 2007-09-27 17:31 -------
Subject: Bug 33565
Author: ian
Date: Thu Sep 27 17:31:34 2007
New Revision: 128840
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128840
Log:
./:
PR tree-optimization/33565
* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING on
assignments of comparisons.
* tree-ssa-sccvn.c (simplify_binary_expression): Add stmt
parameter. Change caller. Defer overflow warnings around call to
fold_binary.
* fold-const.c (fold_undefer_overflow_warnings): Don't warn if
TREE_NO_WARNING is set on the statement.
* tree-ssa-forwprop.c
(tree_ssa_forward_propagate_single_use_vars): Don't test
TREE_NO_WARNING when calling fold_undefer_overflow_warnings.
* tree-cfg.c (fold_cond_expr_cond): Likewise.
testsuite/:
PR tree-optimization/33565
* gcc.dg/Wstrict-overflow-20.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/Wstrict-overflow-20.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-cfg.c
trunk/gcc/tree-ssa-forwprop.c
trunk/gcc/tree-ssa-loop-ch.c
trunk/gcc/tree-ssa-sccvn.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33565