From 8af564801551882346bd785d25f4f7bf5c374b97 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Sun, 27 Nov 2022 17:15:32 +0200 Subject: [PATCH] Sema: make inferred allocs always mutable Const allocs don't make any sense, make_ptr_const handles making the pointers not mutable. --- src/Sema.zig | 4 ++-- test/behavior/if.zig | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Sema.zig b/src/Sema.zig index be44ca6a5f70a426b1a0156669c9197116d41a29..17cbbd7274844717a39b05ce244f862175886ada 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -3639,7 +3639,7 @@ fn zirResolveInferredAlloc(sema: *Sema, block: *Block, inst: Zir.Inst.Index) Com const final_elem_ty = try decl.ty.copy(sema.arena); const final_ptr_ty = try Type.ptr(sema.arena, sema.mod, .{ .pointee_type = final_elem_ty, - .mutable = var_is_mut, + .mutable = true, .@"align" = iac.data.alignment, .@"addrspace" = target_util.defaultAddressSpace(target, .local), }); @@ -3663,7 +3663,7 @@ fn zirResolveInferredAlloc(sema: *Sema, block: *Block, inst: Zir.Inst.Index) Com const final_ptr_ty = try Type.ptr(sema.arena, sema.mod, .{ .pointee_type = final_elem_ty, - .mutable = var_is_mut, + .mutable = true, .@"align" = inferred_alloc.data.alignment, .@"addrspace" = target_util.defaultAddressSpace(target, .local), }); diff --git a/test/behavior/if.zig b/test/behavior/if.zig index 8a001a65d4b61db15a56889c903490a2cd2c19db..07b3ddbca655026da625550514969ea0c68d1231 100644 --- a/test/behavior/if.zig +++ b/test/behavior/if.zig @@ -133,7 +133,6 @@ test "if-else expression with runtime condition result location is inferred opti if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; const A = struct { b: u64, c: u64 }; var d: bool = true; -- 2.54.0