diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/virt6.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/virt6.C | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/virt6.C b/gcc/testsuite/g++.old-deja/g++.mike/virt6.C new file mode 100644 index 000000000..db13bb2be --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.mike/virt6.C @@ -0,0 +1,40 @@ +// { dg-do run } +// This testcase ensures that we can build vtable names for complex MI +// classes. + +class C_A { +public: + virtual int foo(void *) { return 0; } +} a; + +class C_B : public C_A { +} b; + +class C_C : public C_A { +} c; + +class C_D : public C_A { +} d; + +class C_E : public C_C, public C_B { +public: + virtual int foo(void *) { return 0; } +} e; + +class C_F : public C_D, public C_B { +public: + virtual int foo(void *) { return 0; } +} f; + +class C_G : public C_A { +public: + virtual int foo(void *) { return 0; } +} g; + +class C_H : public C_G, public C_E, public C_F { +public: + virtual int foo(void *) { return 0; } +} h; + +int main() { +} |