objective-C: improve on warnings about misplacement of method
argument names. // rdar://12263549
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164077 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaObjC/unused.m b/test/SemaObjC/unused.m
index 23d7e8c..3fd1cf0 100644
--- a/test/SemaObjC/unused.m
+++ b/test/SemaObjC/unused.m
@@ -25,13 +25,17 @@
}
@interface foo
-- (int)meth: (int)x: (int)y: (int)z ;
+- (int)meth: (int)x : (int)y : (int)z ;
@end
@implementation foo
-- (int) meth: (int)x: // expected-warning {{parameter name used as selector may result in incomplete method selector name}} \
- // expected-note {{did you mean to use meth:Name2:Name3: as the selector name instead of meth:::}}
-(int)y: // expected-warning{{unused}} expected-warning {{parameter name used as selector may result in incomplete method selector name}}
+- (int) meth: (int)x: // expected-warning {{'x' used as the name of the previous parameter rather than as part of the selector}} \
+ // expected-note {{introduce a parameter name to make 'x' part of the selector}} \
+ // expected-note {{or insert whitespace before ':' to use 'x' as parameter name and have an empty entry in the selector}}
+
+(int)y: // expected-warning {{unused}} expected-warning {{'y' used as the name of the previous parameter rather than as part of the selector}} \
+ // expected-note {{introduce a parameter name to make 'y' part of the selector}} \
+ // expected-note {{or insert whitespace before ':' to use 'y' as parameter name and have an empty entry in the selector}}
(int) __attribute__((unused))z { return x; }
@end
diff --git a/test/SemaObjC/warning-missing-selector-name.m b/test/SemaObjC/warning-missing-selector-name.m
index e4bde0b..0957023 100644
--- a/test/SemaObjC/warning-missing-selector-name.m
+++ b/test/SemaObjC/warning-missing-selector-name.m
@@ -1,20 +1,26 @@
// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
-// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -verify -Wno-objc-root-class -Wmissing-argument-name-in-selector %s
+// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -verify -Wno-objc-root-class -Wmissing-selector-name %s
// rdar://12263549
@interface Super @end
@interface INTF : Super
-(void) Name1:(id)Arg1 Name2:(id)Arg2; // Name1:Name2:
--(void) Name1:(id) Name2:(id)Arg2;
+-(void) Name1:(id) Name2:(id)Arg2; // expected-warning {{'Name2' used as the name of the previous parameter rather than as part of the selector}} \
+ // expected-note {{introduce a parameter name to make 'Name2' part of the selector}} \
+ // expected-note {{or insert whitespace before ':' to use 'Name2' as parameter name and have an empty entry in the selector}}
-(void) Name1:(id)Arg1 Name2:(id)Arg2 Name3:(id)Arg3; // Name1:Name2:Name3:
--(void) Name1:(id)Arg1 Name2:(id) Name3:(id)Arg3;
+-(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}} \
+ // expected-note {{introduce a parameter name to make 'Name3' part of the selector}} \
+ // expected-note {{or insert whitespace before ':' to use 'Name3' as parameter name and have an empty entry in the selector}}
@end
@implementation INTF
-(void) Name1:(id)Arg1 Name2:(id)Arg2{}
--(void) Name1:(id) Name2:(id)Arg2 {} // expected-warning {{parameter name used as selector may result in incomplete method selector name}} \
- // expected-note {{did you mean to use Name1:Name2: as the selector name instead of Name1::}}
+-(void) Name1:(id) Name2:(id)Arg2 {} // expected-warning {{'Name2' used as the name of the previous parameter rather than as part of the selector}} \
+ // expected-note {{introduce a parameter name to make 'Name2' part of the selector}} \
+ // expected-note {{or insert whitespace before ':' to use 'Name2' as parameter name and have an empty entry in the selector}}
-(void) Name1:(id)Arg1 Name2:(id)Arg2 Name3:(id)Arg3 {}
--(void) Name1:(id)Arg1 Name2:(id) Name3:(id)Arg3 {} // expected-warning {{parameter name used as selector may result in incomplete method selector name}} \
- // expected-note {{did you mean to use Name1:Name2:Name3: as the selector name instead of Name1:Name2::}}
+-(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}} \
+ // expected-note {{introduce a parameter name to make 'Name3' part of the selector}} \
+ // expected-note {{or insert whitespace before ':' to use 'Name3' as parameter name and have an empty entry in the selector}}
@end