* g++.old-deja/g++.other/thunk1.C: New test.
From-SVN: r49743
This commit is contained in:
parent
8dba028f10
commit
658311e053
2 changed files with 39 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
2002-02-13 Richard Smith <richard@ex-parrot.com>
|
||||
|
||||
* g++.old-deja/g++.other/thunk1.C: New test.
|
||||
|
||||
2002-02-12 David Billinghurst <David.Billinghurst@riotinto.com>
|
||||
|
||||
* g++.dg/warn/weak1.C: weak attributes not supported on cygwin
|
||||
|
|
35
gcc/testsuite/g++.old-deja/g++.other/thunk1.C
Normal file
35
gcc/testsuite/g++.old-deja/g++.other/thunk1.C
Normal file
|
@ -0,0 +1,35 @@
|
|||
extern "C" void abort();
|
||||
|
||||
int ic;
|
||||
|
||||
struct X
|
||||
{
|
||||
X() { ++ic; }
|
||||
X( const X & ) { ++ic; }
|
||||
~X() { if (--ic < 0) abort(); }
|
||||
};
|
||||
|
||||
struct V
|
||||
{
|
||||
virtual ~V() {}
|
||||
};
|
||||
|
||||
struct A : public virtual V
|
||||
{
|
||||
};
|
||||
|
||||
struct B : public virtual V
|
||||
{
|
||||
virtual void foo( X ) = 0;
|
||||
};
|
||||
|
||||
struct D : public A, public virtual B
|
||||
{
|
||||
virtual void foo( X ) {}
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
B *b = new D;
|
||||
b->foo( X() );
|
||||
}
|
Loading…
Add table
Reference in a new issue