summaryrefslogtreecommitdiffstats
path: root/test/CodeGenObjC
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2012-02-22 05:38:59 +0000
committerEli Friedman <eli.friedman@gmail.com>2012-02-22 05:38:59 +0000
commitb1e3f324b0c4d17399609c246918dadcb886d739 (patch)
tree083ad3a77ddbf479b1045ac60c5e7fcc68866348 /test/CodeGenObjC
parentac1303eca6cbe3e623fb5ec6fe7ec184ef4b0dfa (diff)
Make sure null initialization in arrays works correctly with ARC types. <rdar://problem/10907547>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151133 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenObjC')
-rw-r--r--test/CodeGenObjC/arc.m12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGenObjC/arc.m b/test/CodeGenObjC/arc.m
index 97abb47243..1db00affe8 100644
--- a/test/CodeGenObjC/arc.m
+++ b/test/CodeGenObjC/arc.m
@@ -1533,3 +1533,15 @@ void test68(void) {
// CHECK: [[T0:%.*]] = load [[TEST69]]** [[SELF]], align 8
// CHECK-NEXT: [[T1:%.*]] = bitcast [[TEST69]]* [[T0]] to i8*
// CHECK-NEXT: ret i8* [[T1]]
+
+// rdar://problem/10907547
+void test70(id i) {
+ // CHECK: define void @test70
+ // CHECK: store i8* null, i8**
+ // CHECK: store i8* null, i8**
+ // CHECK: [[ID:%.*]] = call i8* @objc_retain(i8*
+ // CHECK: store i8* [[ID]], i8**
+ id x[3] = {
+ [2] = i
+ };
+}