33 lines
		
	
	
		
			781 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			781 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -Wno-protocol -verify -Wno-objc-root-class %s
 | |
| // rdar: // 7056600
 | |
| 
 | |
| @protocol P
 | |
| - PMeth;
 | |
| @end
 | |
| 
 | |
| // Test1
 | |
| @interface I  <P> @end
 | |
| @implementation I @end //  no warning with -Wno-protocol
 | |
| 
 | |
| // Test2
 | |
| @interface C -PMeth; @end
 | |
| @interface C (Category) <P> @end
 | |
| @implementation C (Category) @end //  no warning with -Wno-protocol
 | |
| 
 | |
| // Test2
 | |
| @interface super - PMeth; @end
 | |
| @interface J : super <P>
 | |
| - PMeth;	// expected-note {{method 'PMeth' declared here}}
 | |
| @end
 | |
| @implementation J @end // expected-warning {{method definition for 'PMeth' not found}}
 | |
| 
 | |
| // Test3
 | |
| @interface K : super <P>
 | |
| @end
 | |
| @implementation K @end // no warning with -Wno-protocol
 | |
| 
 | |
| // Test4
 | |
| @interface Root @end
 | |
| @interface L : Root<P> @end
 | |
| @implementation L @end // no warning with -Wno-protocol
 |