From 52205a3c162d5adaf98be1dbf96bf86afd658182 Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Tue, 1 Mar 2022 15:37:31 +0100 Subject: [PATCH] x64: fix array to slice impl --- src/arch/x86_64/CodeGen.zig | 2 +- test/behavior/cast.zig | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig index 23d99c72bd..c1d1c6863e 100644 --- a/src/arch/x86_64/CodeGen.zig +++ b/src/arch/x86_64/CodeGen.zig @@ -5268,7 +5268,7 @@ fn airArrayToSlice(self: *Self, inst: Air.Inst.Index) !void { const ptr_ty = self.air.typeOf(ty_op.operand); const ptr = try self.resolveInst(ty_op.operand); const array_ty = ptr_ty.childType(); - const array_len = array_ty.arrayLenIncludingSentinel(); + const array_len = array_ty.arrayLen(); const result: MCValue = if (self.liveness.isUnused(inst)) .dead else blk: { const stack_offset = @intCast(i32, try self.allocMem(inst, 16, 16)); try self.genSetStack(ptr_ty, stack_offset, ptr, .{}); diff --git a/test/behavior/cast.zig b/test/behavior/cast.zig index c49e4bd44f..d6e8368e8e 100644 --- a/test/behavior/cast.zig +++ b/test/behavior/cast.zig @@ -497,7 +497,6 @@ test "single-item pointer of array to slice to unknown length pointer" { if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO try testCastPtrOfArrayToSliceAndPtr(); comptime try testCastPtrOfArrayToSliceAndPtr(); @@ -821,7 +820,6 @@ test "peer cast [:x]T to []T" { if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO const S = struct { fn doTheTest() !void {