Merged revisions 208012,208018-208019,208021,208023-208030,208033,208037,208040-20804...
[official-gcc.git] / main / gcc / testsuite / g++.dg / opt / pr48302.C
blobfd51ba412e18a78d05bb222247e9907c421764d7
1 // { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } }
2 // { dg-options "-O -fcrossjumping -fgcse -fschedule-insns2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling2 --param lim-expensive=320 --param min-crossjump-insns=1" }
4 struct S
6   int i, j;
7   S *s;
8   ~S();
9 };
11 S *gs;
13 void foo ()
15 restart:
16   for (S *s = gs; s; s = s->s)
17     if (s->j && s->j != (s->i & 1)) {
18             delete s;
19             goto restart;
20       }