authorgravatar for mitchell.hashimoto@gmail.comMitchell Hashimoto <mitchell.hashimoto@gmail.com> 2022-03-03 11:08:14-08:00
committergravatar for mitchell.hashimoto@gmail.comMitchell Hashimoto <mitchell.hashimoto@gmail.com> 2022-03-03 11:08:14-08:00
logb96d5fd71f12a56ba97c6ca36e47a7cbceee9696
tree1b067bed06d0a7abe46bc56a98d8b39bfb1b0cb2
parent0924f17a234c48c4a7a17e44a1ffac6a9026d5e5
signaturelock-open Commit is signed but in an unrecognized format.

stage2: peer resolve const array pointer to unknown ptr


2 files changed, 7 insertions(+), 3 deletions(-)

src/Sema.zig+2-2
......@@ -18197,7 +18197,7 @@ fn resolvePeerTypes(
1819718197
1819818198 convert_to_slice = false;
1819918199
18200 if (chosen_ty.childType().isConstPtr() and !candidate_ty.childType().isConstPtr())
18200 if (chosen_ty.isConstPtr() and !candidate_ty.isConstPtr())
1820118201 seen_const = true;
1820218202
1820318203 continue;
......@@ -18209,7 +18209,7 @@ fn resolvePeerTypes(
1820918209 chosen_ty_tag == .Pointer and
1821018210 chosen_ty.ptrSize() == .Many)
1821118211 {
18212 if (candidate_ty.childType().isConstPtr() and !chosen_ty.childType().isConstPtr())
18212 if (candidate_ty.isConstPtr() and !chosen_ty.isConstPtr())
1821318213 seen_const = true;
1821418214
1821518215 continue;
test/behavior/cast.zig+5-1
......@@ -985,7 +985,11 @@ test "peer type resolve array pointers, one of them const" {
985985}
986986
987987test "peer type resolve array pointer and unknown pointer" {
988 if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
988 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
989 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
990 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
991 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
992 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
989993
990994 const const_array: [4]u8 = undefined;
991995 var array: [4]u8 = undefined;