1 // PR c++/42057
2 
3 struct A; // { dg-message "forward declaration" }
4 
5 struct B
6 {
7   virtual B* foo(A);
8 };
9 
10 struct C : virtual B
11 {
fooC12   virtual C* foo(A) { return 0; } // { dg-error "incomplete type" }
13 };
14 
15 C c;
16