aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchell Hashimoto <mitchell.hashimoto@gmail.com>2022-03-03 11:08:14 -0800
committerMitchell Hashimoto <mitchell.hashimoto@gmail.com>2022-03-03 11:08:14 -0800
commitb96d5fd71f12a56ba97c6ca36e47a7cbceee9696 (patch)
tree1b067bed06d0a7abe46bc56a98d8b39bfb1b0cb2
parent0924f17a234c48c4a7a17e44a1ffac6a9026d5e5 (diff)
downloadzig-b96d5fd71f12a56ba97c6ca36e47a7cbceee9696.tar.gz
zig-b96d5fd71f12a56ba97c6ca36e47a7cbceee9696.zip
stage2: peer resolve const array pointer to unknown ptr
-rw-r--r--src/Sema.zig4
-rw-r--r--test/behavior/cast.zig6
2 files changed, 7 insertions, 3 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index a0908cf985..a58b07e6c5 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -18197,7 +18197,7 @@ fn resolvePeerTypes(
convert_to_slice = false;
- if (chosen_ty.childType().isConstPtr() and !candidate_ty.childType().isConstPtr())
+ if (chosen_ty.isConstPtr() and !candidate_ty.isConstPtr())
seen_const = true;
continue;
@@ -18209,7 +18209,7 @@ fn resolvePeerTypes(
chosen_ty_tag == .Pointer and
chosen_ty.ptrSize() == .Many)
{
- if (candidate_ty.childType().isConstPtr() and !chosen_ty.childType().isConstPtr())
+ if (candidate_ty.isConstPtr() and !chosen_ty.isConstPtr())
seen_const = true;
continue;
diff --git a/test/behavior/cast.zig b/test/behavior/cast.zig
index ef24f25ecf..8e53b7d44d 100644
--- a/test/behavior/cast.zig
+++ b/test/behavior/cast.zig
@@ -985,7 +985,11 @@ test "peer type resolve array pointers, one of them const" {
}
test "peer type resolve array pointer and unknown pointer" {
- if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
const const_array: [4]u8 = undefined;
var array: [4]u8 = undefined;