mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 03:51:18 +00:00
22 lines
1009 B
C
22 lines
1009 B
C
// #target: macos-x64
|
|
module test;
|
|
|
|
|
|
int*[] blurp = { &ptr, &ptr, (&ptr + 1), &ptr - 1, (int*)((iptr)(&ptr) - 4) };
|
|
int* c = (int*)((iptr)(&ptr) - 4);
|
|
int* c2 = (int*)((iptr)(&ptr) + 4);
|
|
int* c3 = (int*)(4 + (iptr)(&ptr));
|
|
iptr ff = (iptr)(&ptr);
|
|
int ptr = 0;
|
|
|
|
/* #expect: test.ll
|
|
|
|
%"int*[]" = type { ptr, i64 }
|
|
|
|
@.taddr = private global [5 x ptr] [ptr @test_ptr, ptr @test_ptr, ptr getelementptr inbounds (i32, ptr @test_ptr, i64 1), ptr getelementptr (i32, ptr @test_ptr, i64 -1), ptr getelementptr (i8, ptr @test_ptr, i64 -4)], align 8
|
|
@test_blurp = local_unnamed_addr global %"int*[]" { ptr @.taddr, i64 5 }, align 8
|
|
@test_c = local_unnamed_addr global ptr getelementptr (i8, ptr @test_ptr, i64 -4), align 8
|
|
@test_c2 = local_unnamed_addr global ptr getelementptr (i8, ptr @test_ptr, i64 4), align 8
|
|
@test_c3 = local_unnamed_addr global ptr getelementptr (i8, ptr @test_ptr, i64 4), align 8
|
|
@test_ff = local_unnamed_addr global i64 ptrtoint (ptr @test_ptr to i64), align 8
|
|
@test_ptr = global i32 0, align 4
|