Files
c3c/test/test_suite/errors/rethrow.c3t
Christoffer Lerno 3c15e495dd Add macro arguments &foo $foo #foo.
C ABI compatibility aarch64, win64, x86, x64
Added debug info
2020-11-22 22:16:19 +01:00

30 lines
726 B
Plaintext

func void! test()
{
int! i;
i!!;
}
// #expect: rethrow.ll
%i = alloca i32
%i1 = alloca { i64, i64 }, align 8
%error_var = alloca { i64, i64 }, align 8
store { i64, i64 } zeroinitializer, { i64, i64 }* %i1
store i32 0, i32* %i
%0 = load { i64, i64 }, { i64, i64 }* %i1
%1 = extractvalue { i64, i64 } %0, 0
%noerr = icmp eq i64 %1, 0
br i1 %noerr, label %after_check, label %error
error:
store { i64, i64 } %0, { i64, i64 }* %error_var
br label %guard_block
after_check:
%2 = load i32, i32* %i, align 4
br label %noerr_block
guard_block:
%3 = load { i64, i64 }, { i64, i64 }* %error_var
ret { i64, i64 } %3
noerr_block:
ret { i64, i64 } zeroinitializer