1 // { dg-do run } 2 struct S0 { is_kind_of_S1S03 virtual int is_kind_of_S1 () const { return 0; } dummyS04 virtual void dummy () { } 5 }; 6 7 struct S1 : virtual public S0 { is_kind_of_S1S18 virtual int is_kind_of_S1 () const { return 1; } dummyS19 virtual void dummy () { } 10 }; 11 12 struct S2 : virtual public S0 { dummyS213 virtual void dummy () { } 14 }; 15 16 struct S3 : public S2, public S1 { dummyS317 virtual void dummy () { } 18 }; 19 20 static struct S0 *var = new S3 (); 21 main()22int main () { 23 if (var->is_kind_of_S1() != 1) 24 return 1; 25 return 0; 26 } 27