// { dg-do compile } // Contributed by Nathan Sidwell 23 Oct 2003 // Origin: grigory@stl.sarov.ru // PR c++/12700 ICE with covariancy struct c2 { int i; }; struct c1 { virtual c2& f8() {} }; struct c3 : c1, c2 { virtual c2& f8() {} }; struct c11 : public c1 { virtual c3& f8() {} }; struct c15 : virtual c3 { virtual c2& f8() {} }; struct c18 : virtual c11 { virtual c15& f8(); }; c15& c18::f8() { throw 0; }