1 // { dg-do assemble  }
2 // GROUPS passed access-control
3 class Base
4 {
5 protected:
6   virtual void DoSomething() = 0;
7 };
8 
9 class Fibber : public Base
10 {
11 public:
DoBP()12   void DoBP() {
13     DoSomething();
14   }
15 };
16 
17 class Flat : public virtual Fibber
18 {
19 public:
DoIt()20   void DoIt() {
21     DoSomething();
22   }
23 };
24