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