Files
c3c/test/test_suite7/pointers/const_ref.c3t
2025-02-23 13:53:04 +01:00

26 lines
619 B
Plaintext

// #target: macos-x64
module test;
const int[?] X = (int[?]) { 1, 2, 3 };
int[?] y = (int[?]) { 1, 2, 3 };
fn int main()
{
var $z = { &y, "hello" };
(*$z[0])[1] = 4;
assert(y[1] == 4);
return 0;
}
/* #expect: test.ll
@test.X = local_unnamed_addr constant [3 x i32] [i32 1, i32 2, i32 3], align 4
@test.y = global [3 x i32] [i32 1, i32 2, i32 3], align 4
define i32 @main() #0 {
entry:
store i32 4, ptr getelementptr inbounds (i8, ptr @test.y, i64 4), align 4
%0 = load i32, ptr getelementptr inbounds (i8, ptr @test.y, i64 4), align 4
%eq = icmp eq i32 %0, 4
call void @llvm.assume(i1 %eq)
ret i32 0
}