diff options
Diffstat (limited to 'test/CodeGenObjC/stret-1.m')
-rw-r--r-- | test/CodeGenObjC/stret-1.m | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/test/CodeGenObjC/stret-1.m b/test/CodeGenObjC/stret-1.m index f45d1219da65..a7bcdda48b14 100644 --- a/test/CodeGenObjC/stret-1.m +++ b/test/CodeGenObjC/stret-1.m @@ -1,8 +1,7 @@ -// RUN: %clang_cc1 -fblocks -triple arm64-apple-darwin %s -emit-llvm -o - | FileCheck %s -check-prefix=CHECK-ARM64 +// RUN: %clang_cc1 -fblocks -triple arm64-apple-darwin %s -emit-llvm -o - | FileCheck %s // rdar://12416433 struct stret { int x[100]; }; -struct stret zero; struct stret one = {{1}}; @interface Test @end @@ -13,8 +12,12 @@ struct stret one = {{1}}; int main(int argc, const char **argv) { - struct stret st2 = one; - if (argc) st2 = [(id)(argc&~255) method]; -} + [(id)(argc&~255) method]; + // CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (%struct.stret*, i8*, i8*)*)(%struct.stret* sret [[T0:%[^,]+]] + // CHECK: [[T0P:%.*]] = bitcast %struct.stret* [[T0]] to i8* + // CHECK: call void @llvm.memset.p0i8.i64(i8* [[T0P]], i8 0, i64 400, i32 4, i1 false) -// CHECK-ARM64: call void @llvm.memset.p0i8.i64(i8* [[T0:%.*]], i8 0, i64 400, i32 4, i1 false) + [Test method]; + // CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (%struct.stret*, i8*, i8*)*)(%struct.stret* sret [[T1:%[^,]+]] + // CHECK-NOT: call void @llvm.memset.p0i8.i64( +} |