/* This used to ICE (PR c++/27492) */ | |
/* { dg-do "compile" } */ | |
struct A {}; | |
class B : A | |
{ | |
virtual A* foo(); /* { dg-message "overridden" } */ | |
}; | |
struct C : virtual B | |
{ | |
virtual C* foo(); /* { dg-error "invalid covariant return type" } */ | |
}; | |
C* C::foo() { return 0; } | |
struct D : C {}; |