diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/test/SemaObjC/objc-array-literal.m | 12 | ||||
-rw-r--r-- | clang/test/SemaObjC/objc-dictionary-literal.m | 14 |
2 files changed, 26 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/objc-array-literal.m b/clang/test/SemaObjC/objc-array-literal.m index 706207df748..2971fcc4539 100644 --- a/clang/test/SemaObjC/objc-array-literal.m +++ b/clang/test/SemaObjC/objc-array-literal.m @@ -9,6 +9,18 @@ typedef unsigned long NSUInteger; typedef unsigned int NSUInteger; #endif +void checkNSArrayUnavailableDiagnostic() { + id obj; + id arr = @[obj]; // expected-error {{NSArray must be available to use Objective-C array literals}} +} + +@class NSArray; + +void checkNSArrayFDDiagnostic() { + id obj; + id arr = @[obj]; // expected-error {{declaration of 'arrayWithObjects:count:' is missing in NSArray class}} +} + @class NSString; extern void NSLog(NSString *format, ...) __attribute__((format(__NSString__, 1, 2))); diff --git a/clang/test/SemaObjC/objc-dictionary-literal.m b/clang/test/SemaObjC/objc-dictionary-literal.m index f9fd57f2dae..87f127f9281 100644 --- a/clang/test/SemaObjC/objc-dictionary-literal.m +++ b/clang/test/SemaObjC/objc-dictionary-literal.m @@ -5,6 +5,20 @@ #define nil ((void *)0) +void checkNSDictionaryUnavailableDiagnostic() { + id key; + id value; + id dict = @{ key : value }; // expected-error {{NSDictionary must be available to use Objective-C dictionary literals}} +} + +@class NSDictionary; + +void checkNSDictionaryFDDiagnostic() { + id key; + id value; + id dic = @{ key : value }; // expected-error {{declaration of 'dictionaryWithObjects:forKeys:count:' is missing in NSDictionary class}} +} + @interface NSNumber + (NSNumber *)numberWithChar:(char)value; + (NSNumber *)numberWithInt:(int)value; |