1 // { dg-do run  }
2 // prms-id: 4667
3 
4 int counter = 0;
5 int a = 0;
6 int b = 0;
7 int c = 0;
8 
9 struct A {
AA10   A() { a = counter++; }
11 };
12 
13 struct B {
BB14   B() { b = counter++; }
15 };
16 
17 struct C : public virtual B {
CC18   C() { c = counter++; }
19 };
20 
21 struct D : public virtual A, public virtual C { };
22 
23 extern "C" int printf(const char*,...);
main(void)24 int main(void) {
25   D d;
26 
27   if (!(a == 0 && b == 1 && c == 2)) {
28     return 1;
29   }
30 
31   return 0;
32 }
33