/* { dg-do compile } */ struct A { virtual void m_fn1 (); int m_local; }; class C : virtual public A { }; struct B { A *m_g; B (A *p1) : m_g (p1) { m_g->m_fn1 (); } }; struct C7 { virtual ~C7 (); }; class D : public C, C7 { }; struct F : D { F (int); static void m_fn2 () { F a (0); B b (&a); } }; void fn1 () { F::m_fn2 (); }