From: Eric Botcazou Date: Sun, 23 Sep 2012 20:37:37 +0000 (+0000) Subject: re PR tree-optimization/54669 (verify_flow_info failure after loop unrolling with... X-Git-Tag: misc/gccgo-go1_1_2~679 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee3de2b8b233709076f14bda4d05c0b593ddcece;p=thirdparty%2Fgcc.git re PR tree-optimization/54669 (verify_flow_info failure after loop unrolling with -fnon-call-exceptions) PR tree-optimization/54669 * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Invoke maybe_clean_or_replace_eh_stmt on the modified use statements. From-SVN: r191654 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9aa6e8e5079e..9602625ace44 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-09-23 Eric Botcazou + + PR tree-optimization/54669 + * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Invoke + maybe_clean_or_replace_eh_stmt on the modified use statements. + 2012-09-23 Marc Glisse * expr.c (do_store_flag): Remove duplicated code. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c7d950d7cffa..a677859668ab 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,10 +1,14 @@ +2012-09-23 Eric Botcazou + + * gcc.dg/pr54669.c: New test. + 2012-09-23 Paolo Carlini Dominique Dhumieres PR testsuite/54677 * g++.dg/cpp0x/decltype32.C: Add -ftemplate-depth=10. -2012-09-2323 Tobias Burnus +2012-09-23 Tobias Burnus PR fortran/54618 * gfortran.dg/class_array_14.f90: New. diff --git a/gcc/testsuite/gcc.dg/pr54669.c b/gcc/testsuite/gcc.dg/pr54669.c new file mode 100644 index 000000000000..3868ae691dab --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr54669.c @@ -0,0 +1,22 @@ +/* PR tree-optimization/54669 */ +/* Testcase by Zdenek Sojka */ + +/* { dg-compile } */ +/* { dg-options "-O2 -fexceptions -fnon-call-exceptions" } */ + +int a[10]; + +void +foo (void) +{ + int x; + int i; + for (i = 0; i < 1;) + { + int b[3]; + for (i = 0; i < 1; i++) + b[i] = a[i]; + if (&x) + a[0] = b[0]; + } +} diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c index 1e44dd4c7355..b790e1f43cc5 100644 --- a/gcc/tree-ssa-loop-ivcanon.c +++ b/gcc/tree-ssa-loop-ivcanon.c @@ -531,6 +531,7 @@ propagate_into_all_uses (tree ssa_name, tree val) fold_stmt_inplace (&use_stmt_gsi); update_stmt (use_stmt); + maybe_clean_or_replace_eh_stmt (use_stmt, use_stmt); } }