zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 4d1e5ef730630badf92a613cdc57a42d2321df12 (tree)
parent 97019bc56d27349e0aeb44faa9d3f738887abe7f
Author: Jakub Konka <kubkon@jakubkonka.com>
Date:   Wed,  9 Feb 2022 08:17:29 +0100

Merge pull request #10846 from ziglang/x64-macho-bringup

stage2: handle direct and got load for stack args on x86_64-macos
Diffstat:
Msrc/arch/x86_64/CodeGen.zig | 2++
Mtest/behavior/basic.zig | 3+++
2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig @@ -3482,6 +3482,8 @@ fn genSetStackArg(self: *Self, ty: Type, stack_offset: i32, mcv: MCValue) InnerE }, .memory, .embedded_in_code, + .direct_load, + .got_load, => { if (abi_size <= 8) { const reg = try self.copyToTmpRegister(ty, mcv); diff --git a/test/behavior/basic.zig b/test/behavior/basic.zig @@ -194,6 +194,8 @@ test "multiline string comments at multiple places" { } test "string concatenation" { + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; + try expect(mem.eql(u8, "OK" ++ " IT " ++ "WORKED", "OK IT WORKED")); } @@ -395,6 +397,7 @@ fn testTakeAddressOfParameter(f: f32) !void { test "pointer to void return type" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64 and builtin.os.tag == .macos) return error.SkipZigTest; try testPointerToVoidReturnType(); }