summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 0c233447c23..0ac5e9b78b3 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 00000000000..1293686c75a
--- /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;
+}
+
OpenPOWER on IntegriCloud