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...@@ -3639,7 +3639,7 @@ fn zirResolveInferredAlloc(sema: *Sema, block: *Block, inst: Zir.Inst.Index) Com
3639 const final_elem_ty = try decl.ty.copy(sema.arena);3639 const final_elem_ty = try decl.ty.copy(sema.arena);
3640 const final_ptr_ty = try Type.ptr(sema.arena, sema.mod, .{3640 const final_ptr_ty = try Type.ptr(sema.arena, sema.mod, .{
3641 .pointee_type = final_elem_ty,3641 .pointee_type = final_elem_ty,
3642 .mutable = var_is_mut,3642 .mutable = true,
3643 .@"align" = iac.data.alignment,3643 .@"align" = iac.data.alignment,
3644 .@"addrspace" = target_util.defaultAddressSpace(target, .local),3644 .@"addrspace" = target_util.defaultAddressSpace(target, .local),
3645 });3645 });
...@@ -3663,7 +3663,7 @@ fn zirResolveInferredAlloc(sema: *Sema, block: *Block, inst: Zir.Inst.Index) Com...@@ -3663,7 +3663,7 @@ fn zirResolveInferredAlloc(sema: *Sema, block: *Block, inst: Zir.Inst.Index) Com
36633663
3664 const final_ptr_ty = try Type.ptr(sema.arena, sema.mod, .{3664 const final_ptr_ty = try Type.ptr(sema.arena, sema.mod, .{
3665 .pointee_type = final_elem_ty,3665 .pointee_type = final_elem_ty,
3666 .mutable = var_is_mut,3666 .mutable = true,
3667 .@"align" = inferred_alloc.data.alignment,3667 .@"align" = inferred_alloc.data.alignment,
3668 .@"addrspace" = target_util.defaultAddressSpace(target, .local),3668 .@"addrspace" = target_util.defaultAddressSpace(target, .local),
3669 });3669 });
test/behavior/if.zig-1
...@@ -133,7 +133,6 @@ test "if-else expression with runtime condition result location is inferred opti...@@ -133,7 +133,6 @@ test "if-else expression with runtime condition result location is inferred opti
133 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;133 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
134 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;134 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
135 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;135 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
136 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
137136
138 const A = struct { b: u64, c: u64 };137 const A = struct { b: u64, c: u64 };
139 var d: bool = true;138 var d: bool = true;