diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/p4511.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/p4511.C | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4511.C b/gcc/testsuite/g++.old-deja/g++.mike/p4511.C new file mode 100644 index 000000000..25348f463 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.mike/p4511.C @@ -0,0 +1,34 @@ +// { dg-do run } +// prms-id: 4511 + +int bad; + +class A { +public: + virtual void dummy (){} +}; + +class B { +public: + virtual void f(void) = 0; +}; + +class C : public A, public B { +public: + void f(void) { bad=1; } +}; + +class D : public C { +public: + void f(void) { } +}; + +class E : public D { }; + +int main() { + E e; + e.f(); + E * ep = &e; + ep->f(); + return bad; +} |