xref: /llvm-project/clang/test/CodeGen/arm64-microsoft-struct-align.cpp (revision b7c6d95af5e295c560d1445e7090e31eb9289932)
1*b7c6d95aSTom Tan // RUN: %clang_cc1 -triple aarch64-windows -ffreestanding -emit-llvm -O0 \
2*b7c6d95aSTom Tan // RUN: -x c++ -o - %s | FileCheck %s
3*b7c6d95aSTom Tan 
4*b7c6d95aSTom Tan struct size1 { char str[1]; };
5*b7c6d95aSTom Tan struct size2 { char str[2]; };
6*b7c6d95aSTom Tan struct size7 { char str[4]; };
7*b7c6d95aSTom Tan struct size8 { char str[8]; };
8*b7c6d95aSTom Tan struct size63 { char str[63]; };
9*b7c6d95aSTom Tan struct size64 { char str[64]; };
10*b7c6d95aSTom Tan 
11*b7c6d95aSTom Tan struct size1 s1;
12*b7c6d95aSTom Tan // CHECK: @"?s1@@3Usize1@@A" = dso_local global %struct.size1 zeroinitializer, align 1
13*b7c6d95aSTom Tan 
14*b7c6d95aSTom Tan struct size2 s2;
15*b7c6d95aSTom Tan // CHECK: @"?s2@@3Usize2@@A" = dso_local global %struct.size2 zeroinitializer, align 4
16*b7c6d95aSTom Tan 
17*b7c6d95aSTom Tan struct size7 s7;
18*b7c6d95aSTom Tan // CHECK: @"?s7@@3Usize7@@A" = dso_local global %struct.size7 zeroinitializer, align 4
19*b7c6d95aSTom Tan 
20*b7c6d95aSTom Tan struct size8 s8;
21*b7c6d95aSTom Tan // CHECK: @"?s8@@3Usize8@@A" = dso_local global %struct.size8 zeroinitializer, align 8
22*b7c6d95aSTom Tan 
23*b7c6d95aSTom Tan struct size63 s63;
24*b7c6d95aSTom Tan // CHECK: @"?s63@@3Usize63@@A" = dso_local global %struct.size63 zeroinitializer, align 8
25*b7c6d95aSTom Tan 
26*b7c6d95aSTom Tan struct size64 s64;
27*b7c6d95aSTom Tan // CHECK: @"?s64@@3Usize64@@A" = dso_local global %struct.size64 zeroinitializer, align 16
28