// 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