1 // { dg-do assemble } 2 // From: chw@bellcore.com (Charlie Woloszynski,MRE 2J-278,8295228,,27143) 3 // Newsgroups: gnu.g++.bug 4 // Subject: gcc-2.5.5 bug in multiple inheritance and pure virtual functions 5 // Date: 25 Jan 1994 23:41:36 -0500 6 7 // Bug: g++ fails to notice definitions of abstract virtuals. 8 9 class A 10 { 11 public: 12 virtual void a1() = 0; 13 virtual void a2() = 0; 14 }; 15 16 class B 17 { 18 public: 19 virtual void b1() = 0; 20 virtual void b2() = 0; 21 }; 22 23 24 class C: public A, public B 25 { 26 public: a2()27 virtual void a2() {} b2()28 virtual void b2() {} 29 }; 30 31 class D : public C 32 { 33 public: a1()34 virtual void a1() {} b1()35 virtual void b1() {} 36 }; 37 main()38int main() 39 { 40 D d; // { dg-bogus "" } 41 } 42