1*206e2302SBob Wilson// RUN: %clang_cc1 -Wduplicate-method-match -fsyntax-only -verify %s 289026888SChris Lattner 389026888SChris Lattner@interface SUPER 489026888SChris Lattner- (int) meth; 589026888SChris Lattner+ (int) foobar; 689026888SChris Lattner@end 789026888SChris Lattner 889026888SChris Lattner@interface T @end 989026888SChris Lattner 1089026888SChris Lattner@interface class1 : SUPER 110369c57aSChris Lattner- (int) meth; // expected-note {{previous declaration is here}} 1289026888SChris Lattner- (int*) meth; // expected-error {{duplicate declaration of method 'meth'}} 13c17c86b5SFariborz Jahanian- (T*) meth1; // expected-note {{previous declaration is here}} 14c17c86b5SFariborz Jahanian- (T*) meth1; // expected-warning {{multiple declarations of method 'meth1' found and ignored}} 1589026888SChris Lattner+ (T*) meth1; 1689026888SChris Lattner@end 1789026888SChris Lattner 1889026888SChris Lattner@interface class1(cat) 190369c57aSChris Lattner- (int) catm : (char)ch1; // expected-note {{previous declaration is here}} 2089026888SChris Lattner- (int) catm1 : (char)ch : (int)i; 2189026888SChris Lattner- (int) catm : (char*)ch1; // expected-error {{duplicate declaration of method 'catm:'}} 2289026888SChris Lattner+ (int) catm1 : (char)ch : (int)i; 2389026888SChris Lattner+ (T*) meth1; 2489026888SChris Lattner@end 2589026888SChris Lattner 2689026888SChris Lattner@interface class1(cat1) 270369c57aSChris Lattner+ (int) catm1 : (char)ch : (int)i; // expected-note {{previous declaration is here}} 280369c57aSChris Lattner+ (T*) meth1; // expected-note {{previous declaration is here}} 2989026888SChris Lattner+ (int) catm1 : (char)ch : (int*)i; // expected-error {{duplicate declaration of method 'catm1::'}} 3089026888SChris Lattner+ (T**) meth1; // expected-error {{duplicate declaration of method 'meth1'}} 3189026888SChris Lattner+ (int) foobar; 3289026888SChris Lattner@end 3389026888SChris Lattner 3489026888SChris Lattner@protocol P 350369c57aSChris Lattner- (int) meth; // expected-note {{previous declaration is here}} 3689026888SChris Lattner- (int*) meth; // expected-error {{duplicate declaration of method 'meth'}} 3789026888SChris Lattner@end 3889026888SChris Lattner 39