aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/pointers.zig
diff options
context:
space:
mode:
authorMitchell Hashimoto <mitchell.hashimoto@gmail.com>2022-03-08 09:23:30 -0800
committerAndrew Kelley <andrew@ziglang.org>2022-03-08 14:10:43 -0500
commit55ccf4c7a8451edca47d8d6d82bddd9fe192744a (patch)
tree9fd1bb8ed2c124c3162ba6f400b3af834d9b0892 /test/behavior/pointers.zig
parent6ffa44554ef70dea9e4e58e0c8a4733be7c939b3 (diff)
downloadzig-55ccf4c7a8451edca47d8d6d82bddd9fe192744a.tar.gz
zig-55ccf4c7a8451edca47d8d6d82bddd9fe192744a.zip
stage2: elem vals of many pointers need not deref pointers
By the time zirElemVal is reached for a many pointer, a load has already happened, making sure the operand is already dereferenced. This makes `mem.sliceTo` now work.
Diffstat (limited to 'test/behavior/pointers.zig')
-rw-r--r--test/behavior/pointers.zig12
1 files changed, 10 insertions, 2 deletions
diff --git a/test/behavior/pointers.zig b/test/behavior/pointers.zig
index d2ec6d9bbc..c3d4220742 100644
--- a/test/behavior/pointers.zig
+++ b/test/behavior/pointers.zig
@@ -279,7 +279,11 @@ test "array initialization types" {
}
test "null terminated pointer" {
- if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
const S = struct {
fn doTheTest() !void {
@@ -295,7 +299,11 @@ test "null terminated pointer" {
}
test "allow any sentinel" {
- if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
const S = struct {
fn doTheTest() !void {