aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2004-10-08 23:29:35 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2004-10-08 16:29:35 -0700
commit3589783147494a0b186d0dfdc20559827da39f49 (patch)
tree7bab11f1c5833dfc4191a2b0ad324d58b130e181
parent227c4bc7af8e39d24f3f9ba96037c0254720075d (diff)
downloadgcc-3589783147494a0b186d0dfdc20559827da39f49.zip
gcc-3589783147494a0b186d0dfdc20559827da39f49.tar.gz
gcc-3589783147494a0b186d0dfdc20559827da39f49.tar.bz2
re PR tree-optimization/17902 (ICE from tree_verify_flow_info)
2004-10-08 Andrew Pinski <pinskia@physics.uc.edu> PR tree-opt/17902 * g++.dg/opt/pr17902.C: New test. From-SVN: r88802
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/opt/pr17902.C26
2 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0c23344..0ac5e9b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/17902
+ * g++.dg/opt/pr17902.C: New test.
+
2004-10-09 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/cpp/ident-1.c: Add dg-options "".
diff --git a/gcc/testsuite/g++.dg/opt/pr17902.C b/gcc/testsuite/g++.dg/opt/pr17902.C
new file mode 100644
index 0000000..1293686
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/pr17902.C
@@ -0,0 +1,26 @@
+/* { dg-options "-O3" } */
+/* { dg-do compiler } */
+
+void foo();
+struct A { ~A(){ foo(); } };
+struct B { A a; };
+void bar()
+{
+ A a;
+ bool b = false;
+ int i, j;
+
+
+ for (j=0; j<i; j++)
+ {
+ if (i) b=true;
+ if (j && i) foo();
+ if (j && i) i++;
+ }
+
+
+ for (j=0; j<i; j++)
+ if ( !j || (j==1 && b && i) )
+ B x;
+}
+