// { dg-do assemble  }
class foo {
protected:
  void __duplicate ();
};
class bar : public virtual foo  {
protected:
    void __duplicate() {
       foo::__duplicate ();
    }
};
class oops : public virtual bar {
protected:
    void __duplicate() {
       foo::__duplicate ();
    }
};