Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / g++.old-deja / g++.mike / p4246.C
blobc81ae7571ca0310c9fd8d7c0111d9413d14da45d
1 // { dg-do run  }
2 // prms-id: 4246
4 extern "C" void abort ();
5 int num_d;
7 class A
9  public:
10   A() { }
11   virtual  ~A() { }
12   virtual void id() { }
15 class B
17  public:
18   B() { }
19   virtual  ~B() { }
20   virtual void id() { }
23 class C : public A, public B
25  public:
26   C() { }
27   virtual  ~C() { }
28   void id() { abort(); }
31 class D : public C
33  public:
34   D() { ++num_d; }
35   virtual  ~D() { -- num_d; }
36   void id() { }
39 int main()
41   D* dp2 = new D;
42   ((B*)dp2)->id();
43   delete (B*) dp2;
45   B* bp1 = new D;
46   bp1->id();
47   delete bp1;
48   return num_d != 0;