diff options
Diffstat (limited to 'clang/test/Rewriter/objc-modern-ivar-receiver-1.mm')
-rw-r--r-- | clang/test/Rewriter/objc-modern-ivar-receiver-1.mm | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/clang/test/Rewriter/objc-modern-ivar-receiver-1.mm b/clang/test/Rewriter/objc-modern-ivar-receiver-1.mm new file mode 100644 index 0000000..a5c17a6 --- /dev/null +++ b/clang/test/Rewriter/objc-modern-ivar-receiver-1.mm @@ -0,0 +1,31 @@ +// RUN: %clang_cc1 -E %s -o %t.mm +// RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %t.mm -o - | FileCheck %s + +void *sel_registerName(const char *); + +@interface NSMutableArray +- (void)addObject:(id)addObject; +@end + +@interface NSInvocation { +@private + id _container; +} ++ (NSInvocation *)invocationWithMethodSignature; + +@end + +@implementation NSInvocation + ++ (NSInvocation *)invocationWithMethodSignature { + NSInvocation *newInv; + id obj = newInv->_container; + [newInv->_container addObject:0]; + return 0; +} +@end + +// CHECK: id obj = (*(id *)((char *)newInv + OBJC_IVAR_$_NSInvocation$_container)); +// rdar://11076938 +// CHECK: struct _class_t *superclass; +// CHECK: extern "C" __declspec(dllimport) struct objc_cache _objc_empty_cache; |