diff options
Diffstat (limited to 'clang/test/SemaObjC/objc-dictionary-literal.m')
-rw-r--r-- | clang/test/SemaObjC/objc-dictionary-literal.m | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/objc-dictionary-literal.m b/clang/test/SemaObjC/objc-dictionary-literal.m new file mode 100644 index 0000000..2acbc39 --- /dev/null +++ b/clang/test/SemaObjC/objc-dictionary-literal.m @@ -0,0 +1,34 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s +// rdar://11062080 + +@interface NSNumber ++ (NSNumber *)numberWithChar:(char)value; ++ (NSNumber *)numberWithInt:(int)value; +@end + +@protocol NSCopying @end +typedef unsigned long NSUInteger; +typedef long NSInteger; + +@interface NSDictionary ++ (id)dictionaryWithObjects:(const id [])objects forKeys:(const id <NSCopying> [])keys count:(NSUInteger)cnt; +- (void)setObject:(id)object forKeyedSubscript:(id)key; +@end + +@interface NSString<NSCopying> +@end + +@interface NSArray +- (id)objectAtIndexedSubscript:(NSInteger)index; +- (void)setObject:(id)object atIndexedSubscript:(NSInteger)index; +@end + +int main() { + NSDictionary *dict = @{ @"name":@666 }; + dict[@"name"] = @666; + + dict["name"] = @666; // expected-error {{indexing expression is invalid because subscript type 'char *' is not an objective-C pointer}} + + return 0; +} + |