.
[official-gcc.git] / gcc / testsuite / g++.dg / ipa / pr68672-1.C
blob4e30d66baaec784873e435a4291f2351fbf88ad1
1 // PR ipa/68672
2 // { dg-do compile }
3 // { dg-options "-O -finline-small-functions -fpartial-inlining --param=partial-inlining-entry-probability=100 -Wno-return-type" }
5 void f2 (void *);
6 void *a;
7 struct C { virtual void m1 (); };
8 struct D { C *m2 () { if (a) __builtin_abort (); } };
9 D f1 ();
10 struct E { int e; ~E () { if (e) f2 (&e); } };
11 E *b;
12 struct I { virtual void m3 (); };
14 void
15 I::m3 ()
17   if (a)
18     f1 ().m2 ()->m1 ();
19   b->~E ();