Files

66 lines
1.2 KiB
Plaintext

// #target: macos-x64
module foo;
int[100] zfe;
struct Bob
{
Bob[] x;
char[100] y;
struct w {
int z;
}
}
union Ex
{
char[8] c;
int[2] y;
double z;
}
union Br
{
int y;
char x;
}
struct Ar
{
long z;
Br[10] br;
}
union Foob
{
long a;
char[8] c;
}
Ar izzy;
long x = $alignof(zfe);
short y = Bob.y.alignof;
int z = Bob.w.z.alignof;
int v = $alignof(v);
int x1 = Ex.c.alignof;
int x2 = Ex.y.alignof;
int x3 = char[8].alignof;
int x9 = $alignof(izzy.br[1]);
int x10 = $alignof(izzy.br[1]);
int x11 = $alignof(izzy.br[1]);
int z0 = Foob.c.alignof;
/* #expect: foo.ll
@foo.x = local_unnamed_addr global i64 16, align 8
@foo.y = local_unnamed_addr global i16 8, align 2
@foo.z = local_unnamed_addr global i32 4, align 4
@foo.v = local_unnamed_addr global i32 4, align 4
@foo.x1 = local_unnamed_addr global i32 8, align 4
@foo.x2 = local_unnamed_addr global i32 8, align 4
@foo.x3 = local_unnamed_addr global i32 1, align 4
@foo.x9 = local_unnamed_addr global i32 4, align 4
@foo.x10 = local_unnamed_addr global i32 4, align 4
@foo.x11 = local_unnamed_addr global i32 4, align 4
@foo.z0 = local_unnamed_addr global i32 8, align 4