llvm-capstone/clang/test/CodeGenObjC/arc-no-runtime.m
John McCall e68b8f4dcc At -O0, prefer objc_storeStrong with a null new value to the
combination of a load+objc_release;  this is generally better
for tools that try to track why values are retained and
released.  Also use objc_storeStrong when copying a block
(again, only at -O0), which requires us to do a preliminary
store of null in order to compensate for objc_storeStrong's
assign semantics.

llvm-svn: 166085
2012-10-17 02:28:37 +00:00

14 lines
395 B
Objective-C

// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-arc -emit-llvm %s -o - | FileCheck %s
// rdar://problem/9224855
id make(void) __attribute__((ns_returns_retained));
void test0() {
make();
id x = 0;
// CHECK: call void @objc_release(
// CHECK: call void @objc_storeStrong(
}
// CHECK: declare extern_weak void @objc_release(
// CHECK: declare extern_weak void @objc_storeStrong(