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()22 int main () {
23   if (var->is_kind_of_S1() != 1)
24     return 1;
25   return 0;
26 }
27