xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenObjC/stret-1.m (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc// RUN: %clang_cc1 -fblocks -triple arm64-apple-darwin %s -emit-llvm -o - | FileCheck %s -check-prefix=CHECK-ARM64
2*0a6a1f1dSLionel Sambuc// rdar://12416433
3*0a6a1f1dSLionel Sambuc
4*0a6a1f1dSLionel Sambucstruct stret { int x[100]; };
5*0a6a1f1dSLionel Sambucstruct stret zero;
6*0a6a1f1dSLionel Sambucstruct stret one = {{1}};
7*0a6a1f1dSLionel Sambuc
8*0a6a1f1dSLionel Sambuc@interface Test  @end
9*0a6a1f1dSLionel Sambuc
10*0a6a1f1dSLionel Sambuc@implementation Test
11*0a6a1f1dSLionel Sambuc+(struct stret) method { return one; }
12*0a6a1f1dSLionel Sambuc@end
13*0a6a1f1dSLionel Sambuc
14*0a6a1f1dSLionel Sambucint main(int argc, const char **argv)
15*0a6a1f1dSLionel Sambuc{
16*0a6a1f1dSLionel Sambuc    struct stret st2 = one;
17*0a6a1f1dSLionel Sambuc    if (argc) st2 = [(id)(argc&~255) method];
18*0a6a1f1dSLionel Sambuc}
19*0a6a1f1dSLionel Sambuc
20*0a6a1f1dSLionel Sambuc// CHECK-ARM64: call void @llvm.memset.p0i8.i64(i8* [[T0:%.*]], i8 0, i64 400, i32 4, i1 false)
21