authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-03-01 15:37:31+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-03-01 17:59:39+01:00
log52205a3c162d5adaf98be1dbf96bf86afd658182
tree3b0113e2e22cd1911100b71c21403588f4eaa451
parentad03fef71222ad4335107257451c1828fb9adc88

x64: fix array to slice impl


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

src/arch/x86_64/CodeGen.zig+1-1
......@@ -5268,7 +5268,7 @@ fn airArrayToSlice(self: *Self, inst: Air.Inst.Index) !void {
52685268 const ptr_ty = self.air.typeOf(ty_op.operand);
52695269 const ptr = try self.resolveInst(ty_op.operand);
52705270 const array_ty = ptr_ty.childType();
5271 const array_len = array_ty.arrayLenIncludingSentinel();
5271 const array_len = array_ty.arrayLen();
52725272 const result: MCValue = if (self.liveness.isUnused(inst)) .dead else blk: {
52735273 const stack_offset = @intCast(i32, try self.allocMem(inst, 16, 16));
52745274 try self.genSetStack(ptr_ty, stack_offset, ptr, .{});
test/behavior/cast.zig-2
......@@ -497,7 +497,6 @@ test "single-item pointer of array to slice to unknown length pointer" {
497497 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
498498 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
499499 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
500 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
501500
502501 try testCastPtrOfArrayToSliceAndPtr();
503502 comptime try testCastPtrOfArrayToSliceAndPtr();
......@@ -821,7 +820,6 @@ test "peer cast [:x]T to []T" {
821820 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
822821 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
823822 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
824 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
825823
826824 const S = struct {
827825 fn doTheTest() !void {