2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / thunk1.C
blob35243f529838199976e365d9e92a0dcb347d616f
1 // { dg-do run  }
2 extern "C" void abort();
4 int ic;
6 struct X 
8   X() { ++ic; }
9   X( const X & ) { ++ic; }
10  ~X() { if (--ic < 0) abort(); }
13 struct V 
15   virtual ~V() {}
18 struct A : public virtual V 
20 }; 
22 struct B : public virtual V 
24   virtual void foo( X ) = 0;
25 }; 
27 struct D : public A, public virtual B 
29   virtual void foo( X ) {}
30 }; 
32 int main()
34   B *b = new D;
35   b->foo( X() );