Files
c3c/test/test_suite/macros/hash_initializer.c3t
2025-02-18 18:53:30 +01:00

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)