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