diff options
Diffstat (limited to 'test/CodeGenObjCXX/arc-special-member-functions.mm')
-rw-r--r-- | test/CodeGenObjCXX/arc-special-member-functions.mm | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/test/CodeGenObjCXX/arc-special-member-functions.mm b/test/CodeGenObjCXX/arc-special-member-functions.mm index 14e0899cd4..d88a2bd62f 100644 --- a/test/CodeGenObjCXX/arc-special-member-functions.mm +++ b/test/CodeGenObjCXX/arc-special-member-functions.mm @@ -124,10 +124,17 @@ void test_ObjCBlockMember_copy_assign(ObjCBlockMember m1, ObjCBlockMember m2) { // CHECK: ret // Implicitly-generated destructor for ObjCArrayMember -// CHECK: define linkonce_odr void @_ZN15ObjCArrayMemberD2Ev -// CHECK: call void @objc_release -// CHECK: br label -// CHECK: ret +// CHECK: define linkonce_odr void @_ZN15ObjCArrayMemberD2Ev +// CHECK: [[BEGIN:%.*]] = getelementptr inbounds [2 x [3 x i8*]]* +// CHECK-NEXT: [[END:%.*]] = getelementptr inbounds i8** [[BEGIN]], i64 6 +// CHECK-NEXT: br label +// CHECK: [[PAST:%.*]] = phi i8** [ [[END]], {{%.*}} ], [ [[CUR:%.*]], {{%.*}} ] +// CHECK-NEXT: [[CUR]] = getelementptr inbounds i8** [[PAST]], i64 -1 +// CHECK-NEXT: [[T0:%.*]] = load i8** [[CUR]] +// CHECK-NEXT: call void @objc_release(i8* [[T0]]) +// CHECK-NEXT: [[T1:%.*]] = icmp eq i8** [[CUR]], [[BEGIN]] +// CHECK-NEXT: br i1 [[T1]], +// CHECK: ret void // Implicitly-generated default constructor for ObjCArrayMember // CHECK: define linkonce_odr void @_ZN15ObjCArrayMemberC2Ev |