14 lines
		
	
	
		
			384 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			384 B
		
	
	
	
		
			C++
		
	
	
	
| // 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;
 |