Test case for PR 17517
authorAndrew MacLeod <amacleod@redhat.com>
Fri, 24 Sep 2004 16:22:19 +0000 (16:22 +0000)
committerAndrew Macleod <amacleod@gcc.gnu.org>
Fri, 24 Sep 2004 16:22:19 +0000 (16:22 +0000)
From-SVN: r88050

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tree-ssa/pr17517.C [new file with mode: 0644]

index e543df5d392163058e8ee5f3d424d2d5ef02708d..6b4225351b6d64a29e65ea5a53dca38ddbd2c45d 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-24  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimzation/17517
+       * g++.dg/tree-ssa/pr17517.C: New Test.
+
 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
 
        PR c++/16889
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr17517.C b/gcc/testsuite/g++.dg/tree-ssa/pr17517.C
new file mode 100644 (file)
index 0000000..bcd5e91
--- /dev/null
@@ -0,0 +1,32 @@
+// Test PR 17517.  Test case provided by Serge Belyshev.
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+
+
+extern void foo ();
+
+struct Ptr {
+  int * ptr;
+  Ptr () { ptr = 0; }
+  ~Ptr() { delete ptr; }
+  Ptr &operator= (int * p) { ptr = p; return *this; }
+};
+
+int *new_checker () { foo (); return 0; }
+
+void pipe (int c)
+{
+  Ptr checker;
+  
+  foo ();
+  for (;;)
+    {
+    switch (c)
+      {
+    case '-':
+      checker = new_checker ();
+      break;
+      }
+    }
+}