Files
c3c/test/test_suite/errors/simple_static_failable.c3t
2021-07-18 14:11:39 +02:00

35 lines
758 B
Plaintext

// #target: x64_darwin
module foo;
errtype Blurg;
func void main()
{
static int! x = 120;
int! i = Blurg!;
}
// #expect: foo.ll
%error_union = type { i64, i64 }
%Blurg = type { [8 x i8] }
@Blurg = linkonce_odr constant i8 1
@main.x.f = hidden global %error_union zeroinitializer, align 8
@main.x = hidden global i32 120, align 4
define void @main()
%i = alloca i32, align 4
%i.f = alloca %error_union, align 8
%literal = alloca %Blurg, align 8
%0 = bitcast %Blurg* %literal to i8*
call void @llvm.memset.p0i8.i64(i8* align 8 %0, i8 0, i64 8, i1 false)
%1 = load %Blurg, %Blurg* %literal, align 8
%2 = bitcast %error_union* %i.f to %Blurg*
store %Blurg %1, %Blurg* %2, align 1
br label %after_assign
after_assign:
ret void