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
9class A
10{
11public:
12  virtual void a1() = 0;
13  virtual void a2() = 0;
14};
15
16class B
17{
18public:
19  virtual void b1() = 0;
20  virtual void b2() = 0;
21};
22
23
24class C: public A, public B
25{
26public:
27  virtual void a2() {};
28  virtual void b2() {};
29};
30
31class D : public C
32{
33public:
34  virtual void a1() {};
35  virtual void b1() {};
36};
37
38int main()
39{
40  D d;				// { dg-bogus "" }
41}
42