mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 03:51:18 +00:00
32 lines
753 B
C
32 lines
753 B
C
// #target: macos-x64
|
|
|
|
module array_casts;
|
|
|
|
fn void test()
|
|
{
|
|
int[3] x;
|
|
int *y = &x;
|
|
int[] z = &x;
|
|
}
|
|
|
|
/* #expect: array_casts.ll
|
|
|
|
%"int[]" = type { ptr, i64 }
|
|
|
|
define void @array_casts_test() #0 {
|
|
entry:
|
|
%x = alloca [3 x i32], align 4
|
|
%y = alloca ptr, align 8
|
|
%z = alloca %"int[]", align 8
|
|
%0 = getelementptr inbounds [3 x i32], ptr %x, i64 0, i64 0
|
|
store i32 0, ptr %0, align 4
|
|
%1 = getelementptr inbounds [3 x i32], ptr %x, i64 0, i64 1
|
|
store i32 0, ptr %1, align 4
|
|
%2 = getelementptr inbounds [3 x i32], ptr %x, i64 0, i64 2
|
|
store i32 0, ptr %2, align 4
|
|
store ptr %x, ptr %y, align 8
|
|
%3 = insertvalue %"int[]" undef, ptr %x, 0
|
|
%4 = insertvalue %"int[]" %3, i64 3, 1
|
|
store %"int[]" %4, ptr %z, align 8
|
|
ret void
|
|
}
|