view gcc/testsuite/g++.dg/ipa/pr46053.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* { dg-do run } */
/* { dg-options "-O -fipa-cp -fno-early-inlining"  } */

extern "C" void abort ();

struct A
{
  virtual void foo () = 0;
};

struct B : A
{
  virtual void foo () = 0;
};

struct C : A
{
};

struct D : C, B
{
  int i;
  D () : i(0xaaaa) {}
  virtual void foo ()
  {
    if (i != 0xaaaa)
      abort();
  }
};

static inline void bar (B &b)
{
  b.foo ();
}

int main()
{
  D d;
  bar (d);
  return 0;
}