// { 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(0)); }