summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjCXX/arc-new-delete.mm
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-02-21 00:40:10 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-02-21 00:40:10 +0000
commit134cec62ab8ddea5b70d55873e4ab0a95d9bf894 (patch)
treee3e0ab6164d001c1bfa7f48737fa6e7978f06c3a /clang/test/CodeGenObjCXX/arc-new-delete.mm
parentf5b474c6c6c05689fb1a0dae7c24dec161d87917 (diff)
downloadbcm5719-llvm-134cec62ab8ddea5b70d55873e4ab0a95d9bf894.tar.gz
bcm5719-llvm-134cec62ab8ddea5b70d55873e4ab0a95d9bf894.zip
objective-C arc IR-gen. Retaining of strong
arguments in function prologue is done with objc_StoreStrong to pair it with similar objc_StoreStrong for release in function epilogue. This is done with -O0 only. // rdar://13145317 llvm-svn: 175698
Diffstat (limited to 'clang/test/CodeGenObjCXX/arc-new-delete.mm')
-rw-r--r--clang/test/CodeGenObjCXX/arc-new-delete.mm5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/test/CodeGenObjCXX/arc-new-delete.mm b/clang/test/CodeGenObjCXX/arc-new-delete.mm
index ce7eb3deb14..c061e5dbdff 100644
--- a/clang/test/CodeGenObjCXX/arc-new-delete.mm
+++ b/clang/test/CodeGenObjCXX/arc-new-delete.mm
@@ -5,8 +5,9 @@ typedef __weak id weak_id;
// CHECK: define void @_Z8test_newP11objc_object
void test_new(id invalue) {
- // CHECK: alloca i8*
- // CHECK-NEXT: call i8* @objc_retain
+ // CHECK: [[INVALUEADDR:%.*]] = alloca i8*
+ // CHECK-NEXT: store i8* null, i8** [[INVALUEADDR]]
+ // CHECK-NEXT: call void @objc_storeStrong(i8** [[INVALUEADDR]], i8* [[INVALUE:%.*]])
// CHECK: call noalias i8* @_Znwm
// CHECK-NEXT: {{bitcast i8\*.*to i8\*\*}}
OpenPOWER on IntegriCloud