diff options
| author | Mitchell Hashimoto <mitchell.hashimoto@gmail.com> | 2022-03-03 11:08:14 -0800 |
|---|---|---|
| committer | Mitchell Hashimoto <mitchell.hashimoto@gmail.com> | 2022-03-03 11:08:14 -0800 |
| commit | b96d5fd71f12a56ba97c6ca36e47a7cbceee9696 (patch) | |
| tree | 1b067bed06d0a7abe46bc56a98d8b39bfb1b0cb2 | |
| parent | 0924f17a234c48c4a7a17e44a1ffac6a9026d5e5 (diff) | |
| download | zig-b96d5fd71f12a56ba97c6ca36e47a7cbceee9696.tar.gz zig-b96d5fd71f12a56ba97c6ca36e47a7cbceee9696.zip | |
stage2: peer resolve const array pointer to unknown ptr
| -rw-r--r-- | src/Sema.zig | 4 | ||||
| -rw-r--r-- | test/behavior/cast.zig | 6 |
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; |
