aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/pointers.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-09-21 01:49:28 -0700
committerGitHub <noreply@github.com>2025-09-21 01:49:28 -0700
commit010d9a63f20d8a4bd14cff0ada690b2d127a0371 (patch)
tree12b56ddfe5a5b235ef0676832902a0b04ad7d57a /test/behavior/pointers.zig
parent3fbb88c4bd146ca7bd9e7ab5da9c4b05298f3b34 (diff)
parent633162eb0c8d302ba7585cd308e01237409f042e (diff)
downloadzig-010d9a63f20d8a4bd14cff0ada690b2d127a0371.tar.gz
zig-010d9a63f20d8a4bd14cff0ada690b2d127a0371.zip
Merge pull request #25154 from ziglang/no-decl-val-3
rework byval ZIR instructions; forbid runtime vector indexes
Diffstat (limited to 'test/behavior/pointers.zig')
-rw-r--r--test/behavior/pointers.zig9
1 files changed, 8 insertions, 1 deletions
diff --git a/test/behavior/pointers.zig b/test/behavior/pointers.zig
index f6caa3c76e..a0564fcaa0 100644
--- a/test/behavior/pointers.zig
+++ b/test/behavior/pointers.zig
@@ -419,7 +419,6 @@ test "pointer sentinel with enums" {
}
test "pointer sentinel with optional element" {
- if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
@@ -779,3 +778,11 @@ test "pointers to elements of many-ptr to zero-bit type" {
try expect(a == b);
}
+
+test "comptime C pointer to optional pointer" {
+ const opt: ?*u8 = @ptrFromInt(0x1000);
+ const outer_ptr: [*c]const ?*u8 = &opt;
+ const inner_ptr = &outer_ptr.*.?;
+ comptime assert(@TypeOf(inner_ptr) == [*c]const *u8);
+ comptime assert(@intFromPtr(inner_ptr.*) == 0x1000);
+}