mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
39 lines
740 B
Plaintext
39 lines
740 B
Plaintext
// #target: macos-x64
|
|
module test;
|
|
/*
|
|
enum Abc : inline int
|
|
{
|
|
ABC,
|
|
DEF,
|
|
}
|
|
|
|
enum Foo : int (inline String name, int y, int z)
|
|
{
|
|
ABC = { "Hello", 1, 2 },
|
|
DEF = { "World", 2, 3 },
|
|
}
|
|
fn void main()
|
|
{
|
|
int a = Abc.DEF;
|
|
Foo x = ABC;
|
|
Foo y = DEF;
|
|
String hello = Foo.ABC;
|
|
String world = Foo.DEF;
|
|
}
|
|
/* expect: test.ll
|
|
|
|
define void @test.main() #0 {
|
|
entry:
|
|
%a = alloca i32, align 4
|
|
%x = alloca i32, align 4
|
|
%y = alloca i32, align 4
|
|
%hello = alloca %"char[]", align 8
|
|
%world = alloca %"char[]", align 8
|
|
store i32 1, ptr %a, align 4
|
|
store i32 0, ptr %x, align 4
|
|
store i32 1, ptr %y, align 4
|
|
store %"char[]" { ptr @.str.2, i64 5 }, ptr %hello, align 8
|
|
store %"char[]" { ptr @.str.3, i64 5 }, ptr %world, align 8
|
|
ret void
|
|
}
|