| // { dg-do assemble } | |
| // GROUPS passed miscellaneous | |
| // This should not complain about A::f being abstract. | |
| struct A | |
| { | |
| virtual int f() = 0; | |
| }; | |
| struct B : virtual A | |
| { | |
| virtual int f() { return 1; } | |
| virtual int g() = 0; | |
| }; | |
| struct C: B | |
| { | |
| int g() { return 2; } | |
| }; | |
| C c; |