| // RUN: %clang_cc1 -fsyntax-only -verify %s | |
| struct BaseReturn {}; | |
| struct Base { | |
| virtual BaseReturn Foo() = 0; // expected-note{{overridden virtual function is here}} | |
| }; | |
| struct X {}; | |
| struct Derived : Base { | |
| X Foo(); // expected-error{{virtual function 'Foo' has a different return type ('X') than the function it overrides (which has return type 'BaseReturn')}} | |
| }; | |
| Derived d; |