From: Fariborz Jahanian Date: Fri, 24 Feb 2012 00:34:58 +0000 (+0000) Subject: Add an ivar test for modern objc abi translator. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=729d5c4959fbe01e22554e56a35639173388911a;p=clang Add an ivar test for modern objc abi translator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151316 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Rewriter/objc-modern-ivar-receiver-1.mm b/test/Rewriter/objc-modern-ivar-receiver-1.mm new file mode 100644 index 0000000000..537530b664 --- /dev/null +++ b/test/Rewriter/objc-modern-ivar-receiver-1.mm @@ -0,0 +1,28 @@ +// 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));