authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-11-27 17:15:32+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-11-30 15:14:33+02:00
log8af564801551882346bd785d25f4f7bf5c374b97
tree4bd341aa8e0212337059a7cec645018950fd2cb2
parent63ae7899ae6803ba8113ed3176877c864ce889df

Sema: make inferred allocs always mutable

Const allocs don't make any sense, make_ptr_const handles making the pointers not mutable.

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

src/Sema.zig+2-2
......@@ -3639,7 +3639,7 @@ fn zirResolveInferredAlloc(sema: *Sema, block: *Block, inst: Zir.Inst.Index) Com
36393639 const final_elem_ty = try decl.ty.copy(sema.arena);
36403640 const final_ptr_ty = try Type.ptr(sema.arena, sema.mod, .{
36413641 .pointee_type = final_elem_ty,
3642 .mutable = var_is_mut,
3642 .mutable = true,
36433643 .@"align" = iac.data.alignment,
36443644 .@"addrspace" = target_util.defaultAddressSpace(target, .local),
36453645 });
......@@ -3663,7 +3663,7 @@ fn zirResolveInferredAlloc(sema: *Sema, block: *Block, inst: Zir.Inst.Index) Com
36633663
36643664 const final_ptr_ty = try Type.ptr(sema.arena, sema.mod, .{
36653665 .pointee_type = final_elem_ty,
3666 .mutable = var_is_mut,
3666 .mutable = true,
36673667 .@"align" = inferred_alloc.data.alignment,
36683668 .@"addrspace" = target_util.defaultAddressSpace(target, .local),
36693669 });
test/behavior/if.zig-1
......@@ -133,7 +133,6 @@ test "if-else expression with runtime condition result location is inferred opti
133133 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
134134 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
135135 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
136 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
137136
138137 const A = struct { b: u64, c: u64 };
139138 var d: bool = true;