diff options
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/g++.dg/opt/pr55329.C')
-rw-r--r-- | gcc-4.8.1/gcc/testsuite/g++.dg/opt/pr55329.C | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/opt/pr55329.C b/gcc-4.8.1/gcc/testsuite/g++.dg/opt/pr55329.C deleted file mode 100644 index 3646785d1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/opt/pr55329.C +++ /dev/null @@ -1,73 +0,0 @@ -// PR tree-optimization/55329 -// { dg-do compile } -// { dg-options "-O -fno-guess-branch-probability -fnon-call-exceptions --param=early-inlining-insns=111" } - -void *f1 (); -void f2 (void *); -void f3 (); -static inline void * -f4 () -{ - void *p = f1 (); - if (!p) - f3 (); - return p; -} - -struct A -{ - int *a; - A (); - ~A () { a3 (); } - int a1 (int * p) { if (!p) f3 (); f2 (p); } - int *a2 (); - void a3 () { if (*a) a1 (a); } - int a4 (int x) { if (*a) f4 (); *a2 () += x; } -}; - -struct B : A -{ - ~B () { a3 (); } -}; - -template <class T> -struct C -{ - T *c; - C (); - int c1 () { return *(int *) f4 (); } - ~C () { if (c1 ()) for (T *t = c + c2 (); t != c; t--) T (); } - int c2 (); -}; - -class D -{ - C <C <int> > c; -}; - -struct E -{ - int *e; - ~E () { delete e; } -}; - -struct F -{ - int *f1 (); - D f2; - E f3; - F () { f4 (); } -}; - -struct G : F -{ - B g; - G () { g.a4 (*g1 ()->f1 ()); g1 ()->f1 (); } - F *g1 (); -}; - -void -foo () -{ - G g; -} |