diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.mm | 2 | ||||
-rw-r--r-- | clang/test/CodeGenObjC/blocks.m | 2 | ||||
-rw-r--r-- | clang/test/FixIt/fixit-static-object-decl.m | 12 | ||||
-rw-r--r-- | clang/test/SemaObjC/method-bad-param.m | 4 |
4 files changed, 16 insertions, 4 deletions
diff --git a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.mm b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.mm index 0126e23a74a..92c62904d57 100644 --- a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.mm +++ b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.mm @@ -4,5 +4,5 @@ @end void test_result_type() { - auto l1 = [] () -> A { }; // expected-error{{non-pointer Objective-C class type 'A' in lambda expression result}} + auto l1 = [] () -> A { }; // expected-error{{interface type 'A' cannot be returned by value; did you forget * in 'A'?}} } diff --git a/clang/test/CodeGenObjC/blocks.m b/clang/test/CodeGenObjC/blocks.m index 3718ad590a5..d872e17051b 100644 --- a/clang/test/CodeGenObjC/blocks.m +++ b/clang/test/CodeGenObjC/blocks.m @@ -7,7 +7,7 @@ struct S { @interface T - - (int)foo: (T (^)(T*)) x; + - (int)foo: (T* (^)(T*)) x; @end void foo(T *P) { diff --git a/clang/test/FixIt/fixit-static-object-decl.m b/clang/test/FixIt/fixit-static-object-decl.m index e13900fa786..5f4feada490 100644 --- a/clang/test/FixIt/fixit-static-object-decl.m +++ b/clang/test/FixIt/fixit-static-object-decl.m @@ -5,8 +5,8 @@ // Objective-C++ recovery // RUN: cp %s %t -// RUN: not %clang_cc1 -fixit -x objective-c++ %t -// RUN: %clang_cc1 -fsyntax-only -Werror -x objective-c++ %t +// RUN: not %clang_cc1 -fixit -x objective-c++ %t -std=c++11 +// RUN: %clang_cc1 -fsyntax-only -Werror -x objective-c++ %t -std=c++11 // rdar://9603056 @interface S @end @@ -24,6 +24,14 @@ NSArray func() { return P; } +NSArray (func2)() { return 0; } + +#ifdef __cplusplus +void test_result_type() { + auto l1 = [] () -> NSArray { return 0; }; +} +#endif + int main() { NSArray pluginNames = [NSArray arrayWithObjects]; } diff --git a/clang/test/SemaObjC/method-bad-param.m b/clang/test/SemaObjC/method-bad-param.m index d44b53614aa..30aba7b9d0d 100644 --- a/clang/test/SemaObjC/method-bad-param.m +++ b/clang/test/SemaObjC/method-bad-param.m @@ -42,3 +42,7 @@ enum bogus; // expected-note {{forward declaration of 'enum bogus'}} } @end +@interface arrayfun +- (int[6])arrayRet; // expected-error {{function cannot return array type 'int [6]'}} +- (int())funcRet; // expected-error {{function cannot return function type 'int ()'}} +@end |