Files
c3c/test/test_suite/enumerations/enum_inline_shift_conversion.c3t

31 lines
408 B
Plaintext

// #target: macos-x64
module test;
enum Foo : inline uint
{
BAR,
ABC,
DEF
}
const BAZ = (1U << Foo.BAR);
fn int main()
{
var $var = 1U << Foo.ABC;
var $var2 = 1U << Foo.DEF;
int a = $var;
int b = $var2;
return 0;
}
/* #expect: test.ll
define i32 @main() #0 {
entry:
%a = alloca i32, align 4
%b = alloca i32, align 4
store i32 2, ptr %a, align 4
store i32 4, ptr %b, align 4
ret i32 0
}