// { dg-do run  }
extern "C" int printf (const char*, ...);

struct A
{
  virtual void f () {
    printf ("%x\n", this);
  }
};

struct B : public A
{
};

struct C : public A
{
};

struct D : virtual public B, public C
{
};

int main ()
{
  D d;

  A* a1 = (A*) (B*) &d;
  A* a2 = (A*) (C*) &d;

  a1->f ();
  a2->f ();
}
