Files
c3c/test/test_suite/statements/if_only_throw.c3t
Christoffer Lerno 25bccf4883 New faults and syntax (#2034)
- Remove `[?]` syntax.
- Change `int!` to `int?` syntax.
- New `fault` declarations.
- Enum associated values can reference the calling enum.
2025-03-10 00:11:35 +01:00

30 lines
452 B
Plaintext

// #target: macos-x64
module foo;
import std::io;
fault ABC;
fn void? test()
{
if ((ABC?!))
{ }
else
{}
}
fn void main()
{
(void)test();
}
/* #expect: foo.ll
define i64 @foo.test() #0 {
entry:
%error_var = alloca i64, align 8
store i64 ptrtoint (ptr @foo.ABC to i64), ptr %error_var, align 8
br label %guard_block
guard_block: ; preds = %entry
%0 = load i64, ptr %error_var, align 8
ret i64 %0
}