Files
c3c/test/test_suite/compile_time/compile_time_ptr_ref.c3t
2021-11-16 17:46:44 +01:00

22 lines
1.2 KiB
C

// #target: x64-darwin
module test;
global int*[] blurp = { &ptr, &ptr, (&ptr + 1), &ptr - 1, (int*)((iptr)(&ptr) - 4) };
global int* c = (int*)((iptr)(&ptr) - 4);
global int* c2 = (int*)((iptr)(&ptr) + 4);
global int* c3 = (int*)(4 + (iptr)(&ptr));
global iptr ff = (iptr)(&ptr);
global int ptr = 0;
// #expect: test.ll
%"int*[]" = type { i32**, i64 }
@.taddr = private hidden global [5 x i32*] [i32* @test.ptr, i32* @test.ptr, i32* getelementptr inbounds (i32, i32* @test.ptr, i64 1), i32* getelementptr (i32, i32* @test.ptr, i64 -1), i32* bitcast (i8* getelementptr (i8, i8* bitcast (i32* @test.ptr to i8*), i64 -4) to i32*)], align 8
@test.blurp = global %"int*[]" { i32** getelementptr inbounds ([5 x i32*], [5 x i32*]* @.taddr, i32 0, i32 0), i64 5 }, align 8
@test.c = global i32* bitcast (i8* getelementptr (i8, i8* bitcast (i32* @test.ptr to i8*), i64 -4) to i32*), align 8
@test.c2 = global i32* bitcast (i8* getelementptr (i8, i8* bitcast (i32* @test.ptr to i8*), i64 4) to i32*), align 8
@test.c3 = global i32* bitcast (i8* getelementptr (i8, i8* bitcast (i32* @test.ptr to i8*), i64 4) to i32*), align 8
@test.ff = global i64 ptrtoint (i32* @test.ptr to i64), align 8
@test.ptr = global i32 0, align 4