authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-02-09 08:17:29+01:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2022-02-09 08:17:29+01:00
log4d1e5ef730630badf92a613cdc57a42d2321df12
tree0ff1abaaa906e41979a553acda71c61150dd1ca3
parent97019bc56d27349e0aeb44faa9d3f738887abe7f
parentc689df1215fbe27485eb57751a407e6d5a991ca1
signaturebadge-question-mark Signed by PGP key 4AEE18F83AFDEB23

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

stage2: handle direct and got load for stack args on x86_64-macos

2 files changed, 5 insertions(+), 0 deletions(-)

src/arch/x86_64/CodeGen.zig+2
...@@ -3482,6 +3482,8 @@ fn genSetStackArg(self: *Self, ty: Type, stack_offset: i32, mcv: MCValue) InnerE...@@ -3482,6 +3482,8 @@ fn genSetStackArg(self: *Self, ty: Type, stack_offset: i32, mcv: MCValue) InnerE
3482 },3482 },
3483 .memory,3483 .memory,
3484 .embedded_in_code,3484 .embedded_in_code,
3485 .direct_load,
3486 .got_load,
3485 => {3487 => {
3486 if (abi_size <= 8) {3488 if (abi_size <= 8) {
3487 const reg = try self.copyToTmpRegister(ty, mcv);3489 const reg = try self.copyToTmpRegister(ty, mcv);
test/behavior/basic.zig+3
...@@ -194,6 +194,8 @@ test "multiline string comments at multiple places" {...@@ -194,6 +194,8 @@ test "multiline string comments at multiple places" {
194}194}
195195
196test "string concatenation" {196test "string concatenation" {
197 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
198
197 try expect(mem.eql(u8, "OK" ++ " IT " ++ "WORKED", "OK IT WORKED"));199 try expect(mem.eql(u8, "OK" ++ " IT " ++ "WORKED", "OK IT WORKED"));
198}200}
199201
...@@ -395,6 +397,7 @@ fn testTakeAddressOfParameter(f: f32) !void {...@@ -395,6 +397,7 @@ fn testTakeAddressOfParameter(f: f32) !void {
395397
396test "pointer to void return type" {398test "pointer to void return type" {
397 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO399 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
400 if (builtin.zig_backend == .stage2_x86_64 and builtin.os.tag == .macos) return error.SkipZigTest;
398401
399 try testPointerToVoidReturnType();402 try testPointerToVoidReturnType();
400}403}