// { dg-do assemble } // prms-id: 3538 // This tests for an ambiguous conversion of the this pointer (going // down to DECL_CONTEXT of a FUNCTION_DECL. class ccObjectInfo { public: virtual const ccObjectInfo& repInvariant (int); }; template class ccHandle : public ccObjectInfo { protected: T* p; public: virtual const ccObjectInfo& repInvariant (int); }; template const ccObjectInfo& ccHandle::repInvariant (int) { return p->repInvariant(1); } class ccHandleBase : public ccObjectInfo {}; class cc_CircleHdl : public virtual ccHandleBase, public ccObjectInfo // { dg-warning "" } { public: virtual const ccObjectInfo& repInvariant (int); }; class ccCircleHdl : public ccHandle {};