diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2010-04-07 00:22:00 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-04-07 00:22:00 +0000 |
| commit | ea7a13377571dd6ca5484ebee8258197afd76440 (patch) | |
| tree | f205c7645d6afa94bfc47527078c2dd0608df185 /clang/test | |
| parent | 636a61e0d2f5260e5f388910e4a9aef5a880ec11 (diff) | |
| download | bcm5719-llvm-ea7a13377571dd6ca5484ebee8258197afd76440.tar.gz bcm5719-llvm-ea7a13377571dd6ca5484ebee8258197afd76440.zip | |
Improve on diagnostics when an objc class is used as
a stand-alone type declaration.
llvm-svn: 100588
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Parser/objc-init.m | 2 | ||||
| -rw-r--r-- | clang/test/SemaObjC/blocks.m | 8 | ||||
| -rw-r--r-- | clang/test/SemaObjC/invalid-objc-decls-1.m | 4 | ||||
| -rw-r--r-- | clang/test/SemaObjC/method-bad-param.m | 12 |
4 files changed, 13 insertions, 13 deletions
diff --git a/clang/test/Parser/objc-init.m b/clang/test/Parser/objc-init.m index 0c23aebc878..0024f0278f1 100644 --- a/clang/test/Parser/objc-init.m +++ b/clang/test/Parser/objc-init.m @@ -14,7 +14,7 @@ void test1() { id objects[] = {[NSNumber METH]}; } -void test2(NSNumber x) { // expected-error {{Objective-C interface type 'NSNumber' cannot be passed by value}} +void test2(NSNumber x) { // expected-error {{Objective-C interface type 'NSNumber' cannot be passed by value; did you forget * in 'NSNumber'}} id objects[] = {[x METH]}; } diff --git a/clang/test/SemaObjC/blocks.m b/clang/test/SemaObjC/blocks.m index ddac7d1759e..afa3bdf071b 100644 --- a/clang/test/SemaObjC/blocks.m +++ b/clang/test/SemaObjC/blocks.m @@ -39,10 +39,10 @@ void foo7(id (^x)(int)) { @end void foo8() { - void *P = ^(itf x) {}; // expected-error {{Objective-C interface type 'itf' cannot be passed by value}} - P = ^itf(int x) {}; // expected-error {{Objective-C interface type 'itf' cannot be returned by value}} - P = ^itf() {}; // expected-error {{Objective-C interface type 'itf' cannot be returned by value}} - P = ^itf{}; // expected-error {{Objective-C interface type 'itf' cannot be returned by value}} + void *P = ^(itf x) {}; // expected-error {{Objective-C interface type 'itf' cannot be passed by value; did you forget * in 'itf'}} + P = ^itf(int x) {}; // expected-error {{Objective-C interface type 'itf' cannot be returned by value; did you forget * in 'itf'}} + P = ^itf() {}; // expected-error {{Objective-C interface type 'itf' cannot be returned by value; did you forget * in 'itf'}} + P = ^itf{}; // expected-error {{Objective-C interface type 'itf' cannot be returned by value; did you forget * in 'itf'}} } diff --git a/clang/test/SemaObjC/invalid-objc-decls-1.m b/clang/test/SemaObjC/invalid-objc-decls-1.m index 2f3be285df3..91bd8a8c869 100644 --- a/clang/test/SemaObjC/invalid-objc-decls-1.m +++ b/clang/test/SemaObjC/invalid-objc-decls-1.m @@ -27,8 +27,8 @@ struct whatever { } @end -Super foo( // expected-error{{interface interface type 'Super' cannot be returned by value}} - Super parm1) { // expected-error{{interface interface type 'Super' cannot be passed by value}} +Super foo( // expected-error{{interface interface type 'Super' cannot be returned by value; did you forget * in 'Super'}} + Super parm1) { // expected-error{{interface interface type 'Super' cannot be passed by value; did you forget * in 'Super'}} Super p1; // expected-error{{interface type cannot be statically allocated}} return p1; } diff --git a/clang/test/SemaObjC/method-bad-param.m b/clang/test/SemaObjC/method-bad-param.m index c1509bf9f6f..324ed342f91 100644 --- a/clang/test/SemaObjC/method-bad-param.m +++ b/clang/test/SemaObjC/method-bad-param.m @@ -7,21 +7,21 @@ @end @interface bar --(void) my_method:(foo) my_param; // expected-error {{Objective-C interface type 'foo' cannot be passed by value}} -- (foo)cccccc:(long)ddddd; // expected-error {{Objective-C interface type 'foo' cannot be returned by value}} +-(void) my_method:(foo) my_param; // expected-error {{Objective-C interface type 'foo' cannot be passed by value; did you forget * in 'foo'}} +- (foo)cccccc:(long)ddddd; // expected-error {{Objective-C interface type 'foo' cannot be returned by value; did you forget * in 'foo'}} @end @implementation bar --(void) my_method:(foo) my_param // expected-error {{Objective-C interface type 'foo' cannot be passed by value}} +-(void) my_method:(foo) my_param // expected-error {{Objective-C interface type 'foo' cannot be passed by value; did you forget * in 'foo'}} { } -- (foo)cccccc:(long)ddddd // expected-error {{Objective-C interface type 'foo' cannot be returned by value}} +- (foo)cccccc:(long)ddddd // expected-error {{Objective-C interface type 'foo' cannot be returned by value; did you forget * in 'foo'}} { } @end -void somefunc(foo x) {} // expected-error {{Objective-C interface type 'foo' cannot be passed by value}} -foo somefunc2() {} // expected-error {{Objective-C interface type 'foo' cannot be returned by value}} +void somefunc(foo x) {} // expected-error {{Objective-C interface type 'foo' cannot be passed by value; did you forget * in 'foo'}} +foo somefunc2() {} // expected-error {{Objective-C interface type 'foo' cannot be returned by value; did you forget * in 'foo'}} // rdar://6780761 void f0(foo *a0) { |

