OSDN Git Service

PR c++/31598
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / tree-ssa / pr17517.C
1 // Test PR 17517.  Test case provided by Serge Belyshev.
2  
3  /* { dg-do compile } */
4  /* { dg-options "-O2" } */
5
6
7 extern void foo ();
8
9 struct Ptr {
10   int * ptr;
11   Ptr () { ptr = 0; }
12   ~Ptr() { delete ptr; }
13   Ptr &operator= (int * p) { ptr = p; return *this; }
14 };
15
16 int *new_checker () { foo (); return 0; }
17
18 void pipe (int c)
19 {
20   Ptr checker;
21   
22   foo ();
23   for (;;)
24     {
25     switch (c)
26       {
27     case '-':
28       checker = new_checker ();
29       break;
30       }
31     }
32 }