blob: 095702343faaad5ddb72b881b16683d7e2f820ff [file] [log] [blame]
Fariborz Jahanian08602352012-09-17 19:15:26 +00001// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
Fariborz Jahanian03ebd3b2012-09-17 23:09:59 +00002// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -verify -Wno-objc-root-class -Wmissing-selector-name %s
Fariborz Jahanian08602352012-09-17 19:15:26 +00003// rdar://12263549
4
5@interface Super @end
6@interface INTF : Super
7-(void) Name1:(id)Arg1 Name2:(id)Arg2; // Name1:Name2:
Fariborz Jahanian03ebd3b2012-09-17 23:09:59 +00008-(void) Name1:(id) Name2:(id)Arg2; // expected-warning {{'Name2' used as the name of the previous parameter rather than as part of the selector}} \
9 // expected-note {{introduce a parameter name to make 'Name2' part of the selector}} \
10 // expected-note {{or insert whitespace before ':' to use 'Name2' as parameter name and have an empty entry in the selector}}
Fariborz Jahanian08602352012-09-17 19:15:26 +000011-(void) Name1:(id)Arg1 Name2:(id)Arg2 Name3:(id)Arg3; // Name1:Name2:Name3:
Fariborz Jahanian03ebd3b2012-09-17 23:09:59 +000012-(void) Name1:(id)Arg1 Name2:(id) Name3:(id)Arg3; // expected-warning {{'Name3' used as the name of the previous parameter rather than as part of the selector}} \
13 // expected-note {{introduce a parameter name to make 'Name3' part of the selector}} \
14 // expected-note {{or insert whitespace before ':' to use 'Name3' as parameter name and have an empty entry in the selector}}
Fariborz Jahanian08602352012-09-17 19:15:26 +000015@end
16
17@implementation INTF
18-(void) Name1:(id)Arg1 Name2:(id)Arg2{}
Fariborz Jahanian03ebd3b2012-09-17 23:09:59 +000019-(void) Name1:(id) Name2:(id)Arg2 {} // expected-warning {{'Name2' used as the name of the previous parameter rather than as part of the selector}} \
20 // expected-note {{introduce a parameter name to make 'Name2' part of the selector}} \
21 // expected-note {{or insert whitespace before ':' to use 'Name2' as parameter name and have an empty entry in the selector}}
Fariborz Jahanian08602352012-09-17 19:15:26 +000022-(void) Name1:(id)Arg1 Name2:(id)Arg2 Name3:(id)Arg3 {}
Fariborz Jahanian03ebd3b2012-09-17 23:09:59 +000023-(void) Name1:(id)Arg1 Name2:(id) Name3:(id)Arg3 {} // expected-warning {{'Name3' used as the name of the previous parameter rather than as part of the selector}} \
24 // expected-note {{introduce a parameter name to make 'Name3' part of the selector}} \
25 // expected-note {{or insert whitespace before ':' to use 'Name3' as parameter name and have an empty entry in the selector}}
Fariborz Jahanian08602352012-09-17 19:15:26 +000026@end