1 // { dg-do assemble  }
2 // Origin: Benjamin Kosnik <bkoz@cygnus.com>
3 
4 class b
5 {
6   int j;
7 public:
j(a)8   b(int a = 6): j(a) {}
imbue(int a)9   void imbue(int a) {++j;}
10 };
11 
12 class d: public b
13 {
14   int k;
15 public:
b(a)16   d(int a = 7): b(a), k(a) {}
imbue(int a)17   void imbue(int a) {++k;}
18 };
19 
20 //virtual public kills, public ok
21 class mostd: virtual public d
22 {
23   int l;
24 public:
d(a)25   mostd(int a = 9): d(a), l(a) {}
26 };
27 
main()28 int main() {
29 
30   d dobj;
31   dobj.imbue(5);
32 
33   mostd mobj;
34   mobj.imbue(5);
35 
36   return 0;
37 }
38