// { dg-do assemble } // GROUPS passed abstract-functions class O { public: virtual int c()=0; }; class I: public O { }; class S: public virtual I { public: int c(); virtual int v()=0; }; class D: public S { int v(); }; D *p=new D();