1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// { dg-do assemble } struct S0 { }; struct S1 : virtual public S0 { }; struct S2 : virtual public S0 { }; struct S3 : public S1, public S2, virtual public S0 { }; void f(const S0*) {} void g() { f(static_cast<S3*>(0)); }