2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / g++.dg / init / dtor1.C
blob624433897f07cedd21a383bbd4917d41d3046a3a
1 // { dg-do run }
3 extern "C" void abort ();
5 int d = 5;
7 struct B
9   int x;
10   B (int i) : x (i) { }
11   ~B () { if (d-- != x) abort (); }
14 struct C1 : public B {
15   C1 (int i) : B (i) {}
18 struct C2 : public B {
19   C2 (int i) : B (i) {}
22 struct D : public B {
23   D (int i) : B (i) {}
26 struct E : public B {
27   E (int i) : B (i) {}
30 struct A
31   : public C1, C2, virtual public D, virtual public E
33   A () : D (0), E (1), C1 (2), C2 (3), x1(4), x2(5) {}
34   B x1;
35   B x2;
39 int main ()
41   A a;
42   return 0;