// #target: macos-x64
module test;

union Foo
{
    int a;
    double b;
}

Foo f @private = { .a = 23 };
Foo g @private = { .b = 2.3 };
Foo h @private = { .a = 23, .b = 2.3 };
Foo i = { .b = 2.3, .a = 23 };

/* #expect: test.ll

@test.f = internal unnamed_addr global { i32, [4 x i8] } { i32 23, [4 x i8] undef }, align 8
@test.g = internal unnamed_addr global %Foo { double 2.300000e+00 }, align 8
@test.h = internal unnamed_addr global %Foo { double 2.300000e+00 }, align 8
@test.i = local_unnamed_addr global { i32, [4 x i8] } { i32 23, [4 x i8] undef }, align 8
