mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
24 lines
709 B
Plaintext
24 lines
709 B
Plaintext
module test;
|
|
|
|
macro int[2] test(#abc) @safemacro
|
|
{
|
|
return #abc;
|
|
}
|
|
|
|
fn void main()
|
|
{
|
|
int[2] x = (int[2]) { 1, 2 };
|
|
int[2] y = test({ 2, 3 });
|
|
int[2] z = test({ [0] = 1 });
|
|
}
|
|
|
|
/* #expect: test.ll
|
|
|
|
@.__const = private unnamed_addr constant [2 x i32] [i32 1, i32 2], align 4
|
|
@.__const.1 = private unnamed_addr constant [2 x i32] [i32 2, i32 3], align 4
|
|
@.__const.2 = private unnamed_addr constant [2 x i32] [i32 1, i32 0], align 4
|
|
|
|
call void @llvm.memcpy.p0.p0.i32(ptr align 4 %x, ptr align 4 @.__const, i32 8, i1 false)
|
|
call void @llvm.memcpy.p0.p0.i32(ptr align 4 %y, ptr align 4 @.__const.1, i32 8, i1 false)
|
|
call void @llvm.memcpy.p0.p0.i32(ptr align 4 %z, ptr align 4 @.__const.2, i32 8, i1 false)
|