summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2012-09-17 19:15:26 +0000
committerFariborz Jahanian <fjahanian@apple.com>2012-09-17 19:15:26 +0000
commitf4ffdf357c98e30fd8a67d41ab51e55932f8d2d4 (patch)
tree69301404a4e37a67f4877489dcd4b1d064f76942 /clang/test
parent42782343606a4c50fb5f237bbda37823b67e845b (diff)
downloadbcm5719-llvm-f4ffdf357c98e30fd8a67d41ab51e55932f8d2d4.tar.gz
bcm5719-llvm-f4ffdf357c98e30fd8a67d41ab51e55932f8d2d4.zip
objective-C: issue warning when there is no whitespace
between objc method parameter name and colon. // rdar://12263549 llvm-svn: 164047
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/SemaObjC/unused.m5
-rw-r--r--clang/test/SemaObjC/warning-missing-selector-name.m20
2 files changed, 23 insertions, 2 deletions
diff --git a/clang/test/SemaObjC/unused.m b/clang/test/SemaObjC/unused.m
index efaf9c8f3ef..23d7e8cbe50 100644
--- a/clang/test/SemaObjC/unused.m
+++ b/clang/test/SemaObjC/unused.m
@@ -29,8 +29,9 @@ void test2() {
@end
@implementation foo
-- (int) meth: (int)x:
-(int)y: // expected-warning{{unused}}
+- (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) __attribute__((unused))z { return x; }
@end
diff --git a/clang/test/SemaObjC/warning-missing-selector-name.m b/clang/test/SemaObjC/warning-missing-selector-name.m
new file mode 100644
index 00000000000..e4bde0b7466
--- /dev/null
+++ b/clang/test/SemaObjC/warning-missing-selector-name.m
@@ -0,0 +1,20 @@
+// 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
+// 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)Arg1 Name2:(id)Arg2 Name3:(id)Arg3; // Name1:Name2:Name3:
+-(void) Name1:(id)Arg1 Name2:(id) Name3:(id)Arg3;
+@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)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::}}
+@end
OpenPOWER on IntegriCloud