diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/mi2.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/mi2.C | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/mi2.C b/gcc/testsuite/g++.old-deja/g++.mike/mi2.C new file mode 100644 index 000000000..51d8d2fa5 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.mike/mi2.C @@ -0,0 +1,47 @@ +// { dg-do run } +class A { + char a; +public: + A(char x) : a(x) { } + virtual ~A() { } +}; + +class B : virtual public A { + char b; +public: + B(char x) : A('b'), b(x) { } + ~B() { } +}; + +class C : virtual public A { + char c; +public: + C(char x) : A('c'), c(x) { } + ~C() { } +}; + +class D : virtual public A, public B, public C { + char d; +public: + D(char x) : A('d'), B('d'), C('d'), d(x) { } + ~D() { } +}; + +class E : virtual public A, public B, public C { + char e; +public: + E(char x) : A('e'), B('e'), C('e'), e(x) { } + ~E() { } +}; + +class F : virtual public A, public D, public E { + char f; +public: + F(char x) : A('f'), D('f'), E('f'), f(x) { } + ~F() { } +}; + +int main() { + F f('x'); + return 0; +} |