Fix bug in vtable initialization
[official-gcc.git] / gcc / testsuite / g++.dg / abi / vbase15.C
bloba0908f40e54f288a59a603336d5bb91c6f3a630c
1  // { dg-do run }
3 struct Spec
6  virtual int id () const = 0;
7 };
8 class D1_1_Spec :  public virtual Spec { };
9 class D1_2_Spec :  public virtual Spec { };
10 class D1_3_Spec :  public virtual Spec { };
11 class D2_1_Spec : public D1_1_Spec, public D1_2_Spec { };
12 class D2_Spec : public virtual D2_1_Spec, public virtual D1_3_Spec { };
14 struct D3_Spec : public D2_Spec
16  virtual int id () const { return 3; }
20 __attribute__((noinline)) void foo(D3_Spec* spec)
22   spec->id();
25 int main()
27  D3_Spec spec;
28  foo(&spec);
29  return 0;