blob: fd8f8effac6d03c1f96c001eff1518fb3648a324 [file] [log] [blame]
Ted Kremenekebcb57a2012-03-06 20:05:56 +00001// RUN: %clang_cc1 -emit-llvm -triple x86_64-apple-darwin %s -o /dev/null
2
3typedef unsigned int size_t;
4@protocol P @end
5
6@interface NSMutableArray
7#if __has_feature(objc_subscripting)
8- (id)objectAtIndexedSubscript:(size_t)index;
9- (void)setObject:(id)object atIndexedSubscript:(size_t)index;
10#endif
11@end
12
13#if __has_feature(objc_subscripting)
14@interface XNSMutableArray
15- (id)objectAtIndexedSubscript:(size_t)index;
16- (void)setObject:(id)object atIndexedSubscript:(size_t)index;
17#endif
18@end
19
20@interface NSMutableDictionary
21- (id)objectForKeyedSubscript:(id)key;
22- (void)setObject:(id)object forKeyedSubscript:(id)key;
23@end
24
25@class NSString;
26
27int main() {
28 NSMutableArray<P> * array;
29 id oldObject = array[10];
30
31 array[10] = oldObject;
32
33 id unknown_array;
34 oldObject = unknown_array[1];
35
36 unknown_array[1] = oldObject;
37
38 NSMutableDictionary *dictionary;
39 NSString *key;
40 id newObject;
41 oldObject = dictionary[key];
42 dictionary[key] = newObject; // replace oldObject with newObject
43
44}
45