]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/17902 (ICE from tree_verify_flow_info)
authorAndrew Pinski <pinskia@physics.uc.edu>
Fri, 8 Oct 2004 23:29:35 +0000 (23:29 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Fri, 8 Oct 2004 23:29:35 +0000 (16:29 -0700)
2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17902
        * g++.dg/opt/pr17902.C: New test.

From-SVN: r88802

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/pr17902.C [new file with mode: 0644]

index 0c233447c2399f38f0925c48b38a5b5bbbc2b934..0ac5e9b78b3227cdede5dd9c473fd49268f42d27 100644 (file)
@@ -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 (file)
index 0000000..1293686
--- /dev/null
@@ -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;
+}
+