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()38 int main()
39 {
40   D d;				// { dg-bogus "" }
41 }
42