Files
c3c/test/test_suite/enumerations/enum_to_bool_inline.c3t
2025-04-17 19:00:04 +02:00

34 lines
574 B
Plaintext

// #target: macos-aarch64
module test;
enum Enum : inline int {A, B, C}
fn void main()
{
int i = Enum.C;
assert(i); // Good
Enum e = C;
assert(e);
// In addition
assert(Enum.C);
}
/* #expect: test.ll
define void @test.main() #0 {
entry:
%i = alloca i32, align 4
%e = alloca i32, align 4
store i32 2, ptr %i, align 4
%0 = load i32, ptr %i, align 4
%i2b = icmp ne i32 %0, 0
call void @llvm.assume(i1 %i2b)
store i32 2, ptr %e, align 4
%1 = load i32, ptr %e, align 4
%i2b1 = icmp ne i32 %1, 0
call void @llvm.assume(i1 %i2b1)
ret void
}