blob: 624433897f07cedd21a383bbd4917d41d3046a3a [file] [log] [blame]
// { dg-do run }
extern "C" void abort ();
int d = 5;
struct B
{
int x;
B (int i) : x (i) { }
~B () { if (d-- != x) abort (); }
};
struct C1 : public B {
C1 (int i) : B (i) {}
};
struct C2 : public B {
C2 (int i) : B (i) {}
};
struct D : public B {
D (int i) : B (i) {}
};
struct E : public B {
E (int i) : B (i) {}
};
struct A
: public C1, C2, virtual public D, virtual public E
{
A () : D (0), E (1), C1 (2), C2 (3), x1(4), x2(5) {}
B x1;
B x2;
};
int main ()
{
A a;
return 0;
}