vbase2.C: New test.

* g++.old-deja/g++.abi/vbase2.C: New test.
	* g++.old-deja/g++.abi/vbase3.C: New test.

From-SVN: r43016
This commit is contained in:
Nathan Sidwell 2001-06-08 14:30:47 +00:00 committed by Nathan Sidwell
parent 06d5e6330f
commit 4b454fccf5
3 changed files with 58 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2001-06-08 Nathan Sidwell <nathan@codesourcery.com>
* g++.old-deja/g++.abi/vbase2.C: New test.
* g++.old-deja/g++.abi/vbase3.C: New test.
2001-06-08 Nathan Sidwell <nathan@codesourcery.com>
* g++.old-deja/g++.pt/friend49.C: New test.

View File

@ -0,0 +1,27 @@
// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 5 Jun 2001 <nathan@codesourcery.com>
// Bug 3006. Constructor vtables were wrong.
struct A
{
virtual ~A() {}
};
class B : public virtual A {};
class C : public virtual B {};
class D1 : public virtual C {};
class D2 : public virtual C {};
class E
: public virtual D1,
public virtual D2
{
};
int
main(int argc, char* argv[])
{
new E;
return 0;
}

View File

@ -0,0 +1,26 @@
// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 5 Jun 2001 <nathan@codesourcery.com>
// Bug 3061. Constructor vtables were wrong.
class A_base {
public:
virtual void foo() { }
};
class A_skel : virtual public A_base { };
class B_base : virtual public A_base { };
class B_skel : virtual public B_base, virtual public A_skel { };
class C_base : virtual public B_base { };
class C_skel : virtual public C_base, virtual public B_skel { };
class D_base : virtual public C_base { };
class D_skel : virtual public D_base, virtual public C_skel { };
class D_impl : virtual public D_skel { };
int main()
{
D_impl i;
}