diff options
author | Richard Biener <rguenther@suse.de> | 2014-03-18 08:46:21 +0000 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2014-03-18 08:46:21 +0000 |
commit | 563f17debfe1bf5e72a491de90f03ea0a5fb9dcf (patch) | |
tree | e2544fb02f576ff4aa20a3989053ea8eb1fb6761 /gcc/testsuite/gcc.dg/torture/pr57656.c | |
parent | 67ba6981d28a02e29d205a40813fdf7a1e1e3473 (diff) |
2014-03-18 Richard Biener <rguenther@suse.de>
Backport from mainline
2013-08-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/57521
* tree-if-conv.c (if_convertible_bb_p): Verify that at least
one edge is non-critical.
(find_phi_replacement_condition): Make sure to use a non-critical
edge. Cleanup and remove old bug workarounds.
(bb_postdominates_preds): Remove.
(if_convertible_loop_p_1): Do not compute post-dominators.
(combine_blocks): Do not free post-dominators.
(main_tree_if_conversion): Likewise.
* gcc.dg/torture/pr57521.c: New testcase.
2013-09-03 Richard Biener <rguenther@suse.de>
PR middle-end/57656
* fold-const.c (negate_expr_p): Fix division case.
(negate_expr): Likewise.
* gcc.dg/torture/pr57656.c: New testcase.
2013-11-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/57517
* tree-predcom.c (combinable_refs_p): Verify the combination
is always executed when the refs are.
* gfortran.fortran-torture/compile/pr57517.f90: New testcase.
* gcc.dg/torture/pr57517.c: Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@208632 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/torture/pr57656.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr57656.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/pr57656.c b/gcc/testsuite/gcc.dg/torture/pr57656.c new file mode 100644 index 00000000000..4f3645e4693 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr57656.c @@ -0,0 +1,13 @@ +/* { dg-do run } */ +/* { dg-options "-fstrict-overflow" } */ + +int main (void) +{ + int a = -1; + int b = __INT_MAX__; + int c = 2; + int t = 1 - ((a - b) / c); // t = 1 - ( __INT_MIN__ / 2 ) + if (t != (1 - (-1 - __INT_MAX__) / 2)) + __builtin_abort(); + return 0; +} |