view gcc/testsuite/g++.dg/ipa/pr68672-1.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 84e7813d76e9
children
line wrap: on
line source

// PR ipa/68672
// { dg-do compile }
// { dg-options "-O -finline-small-functions -fpartial-inlining --param=partial-inlining-entry-probability=100 -Wno-return-type" }

void f2 (void *);
void *a;
struct C { virtual void m1 (); };
struct D { C *m2 () { if (a) __builtin_abort (); } };
D f1 ();
struct E { int e; ~E () { if (e) f2 (&e); } };
E *b;
struct I { virtual void m3 (); };

void
I::m3 ()
{
  if (a)
    f1 ().m2 ()->m1 ();
  b->~E ();
}