aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenObjC/arc.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenObjC/arc.m')
-rw-r--r--test/CodeGenObjC/arc.m14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGenObjC/arc.m b/test/CodeGenObjC/arc.m
index df3968722e..55b7747aa6 100644
--- a/test/CodeGenObjC/arc.m
+++ b/test/CodeGenObjC/arc.m
@@ -1526,3 +1526,17 @@ void test53(void) {
// CHECK-NEXT: call void @objc_release(i8* [[T0]])
// CHECK-NEXT: ret void
}
+
+// <rdar://problem/9758798>
+// CHECK: define void @test54(i32 %first, ...)
+void test54(int first, ...) {
+ __builtin_va_list arglist;
+ // CHECK: call void @llvm.va_start
+ __builtin_va_start(arglist, first);
+ // CHECK: call i8* @objc_retain
+ id obj = __builtin_va_arg(arglist, id);
+ // CHECK: call void @llvm.va_end
+ __builtin_va_end(arglist);
+ // CHECK: call void @objc_release
+ // CHECK: ret void
+}