41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -verify %s
 | |
| 
 | |
| @interface Foo
 | |
| - (int)  garf; // expected-note {{previous declaration is here}}
 | |
| - (int) OK;
 | |
| + (int)  cgarf; // expected-note {{previous declaration is here}}
 | |
| - (int)  InstMeth;
 | |
| @end
 | |
| 
 | |
| @interface Foo()
 | |
| - (void)  garf; // expected-error {{duplicate declaration of method 'garf'}}
 | |
| + (void)  cgarf; // expected-error {{duplicate declaration of method 'cgarf'}}
 | |
| + (int)  InstMeth;
 | |
| - (int) OK;
 | |
| @end
 | |
| 
 | |
| // rdar://16312105
 | |
| @class NSObject;
 | |
| 
 | |
| __attribute__((objc_root_class)) @interface AppDelegate
 | |
| + (void)someMethodWithArgument:(NSObject *)argument;
 | |
| + (void)someMethodWithArgument:(NSObject *)argument : (NSObject*) argument2; // expected-note {{previous declaration is here}}
 | |
| @end
 | |
| 
 | |
| @interface AppDelegate ()
 | |
| - (void)someMethodWithArgument:(float)argument; // OK. No warning to be issued here.
 | |
| + (void)someMethodWithArgument:(float)argument : (float)argument2; // expected-error {{duplicate declaration of method 'someMethodWithArgument::'}}
 | |
| @end
 | |
| 
 | |
| __attribute__((objc_root_class))
 | |
| @interface Test
 | |
| -(void)meth; // expected-note {{declared here}}
 | |
| @end
 | |
| 
 | |
| @interface Test()
 | |
| -(void)meth;
 | |
| @end
 | |
| 
 | |
| @implementation Test // expected-warning {{method definition for 'meth' not found}}
 | |
| @end
 |