1 | // RUN: %clang_cc1 -fsyntax-only -verify %s |
---|---|
2 | |
3 | struct BaseReturn {}; |
4 | |
5 | struct Base { |
6 | virtual BaseReturn Foo() = 0; // expected-note{{overridden virtual function is here}} |
7 | }; |
8 | struct X {}; |
9 | struct Derived : Base { |
10 | X Foo(); // expected-error{{virtual function 'Foo' has a different return type ('X') than the function it overrides (which has return type 'BaseReturn')}} |
11 | }; |
12 | |
13 | Derived d; |
14 |