Rebase.
[official-gcc.git] / gcc / testsuite / g++.dg / init / vbase1.C
blobbbfd58f5c348daf7db991e23cd66c80d54280728
1 // PR c++/50618
2 // { dg-do run }
4 struct Base
6     const int text;
7     Base():text(1) {}
8     Base(int aText)
9     : text(aText) {}
11 struct SubA : public virtual Base
13 protected:
14   int x;
15 public:
16   SubA(int aX)
17   : x(aX) {}
19 class SubB : public virtual Base
20 {};
21 struct Diamond : public SubA, public SubB
23     Diamond(int text)
24     : Base(text), SubA(5), SubB() {}
26     void printText()
27     {
28         if(text != 2)
29           __builtin_abort();
30         if(x!=5)
31           __builtin_abort();
32     }
35 int main(int, char**)
37     Diamond x(2);
38     x.printText();