authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-05-19 14:05:21+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-05-19 14:05:21+02:00
loga8376afca950f7d2cb1171517912ed464d0637fb
tree73bff95f6f33e9781cc05edd2a59a1169c8d9707
parent0843d3e5f2092d1058c59d98b42d4119ac441817
parentf3d51edbef7570c4e4867846584a5321420472dd

Merge pull request 'add `sparc64-linux-none` to module test matrix' (#35348) from alexrp/zig:sparc64-linux into master

Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35348

7 files changed, 28 insertions(+), 1 deletions(-)

lib/std/Io/Threaded/test.zig+2
...@@ -149,6 +149,8 @@ test "async with array return type" {...@@ -149,6 +149,8 @@ test "async with array return type" {
149}149}
150150
151test "cancel blocked read from pipe" {151test "cancel blocked read from pipe" {
152 if (builtin.cpu.arch.isSPARC() and builtin.os.tag == .linux) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/35347
153
152 const global = struct {154 const global = struct {
153 fn readFromPipe(io: Io, pipe: Io.File) !void {155 fn readFromPipe(io: Io, pipe: Io.File) !void {
154 var buf: [1]u8 = undefined;156 var buf: [1]u8 = undefined;
lib/std/Io/net/test.zig+2
...@@ -350,6 +350,8 @@ test "decompress compressed DNS name" {...@@ -350,6 +350,8 @@ test "decompress compressed DNS name" {
350}350}
351351
352test "cancel accept" {352test "cancel accept" {
353 if (builtin.cpu.arch.isSPARC() and builtin.os.tag == .linux) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/35347
354
353 const io = testing.io;355 const io = testing.io;
354 const localhost: net.IpAddress = .{ .ip4 = .loopback(0) };356 const localhost: net.IpAddress = .{ .ip4 = .loopback(0) };
355357
lib/std/Io/test.zig+3
...@@ -324,6 +324,8 @@ test "Group materializes error.Cancel" {...@@ -324,6 +324,8 @@ test "Group materializes error.Cancel" {
324}324}
325325
326test "Group task receives cancelation unknowingly" {326test "Group task receives cancelation unknowingly" {
327 if (builtin.cpu.arch.isSPARC() and builtin.os.tag == .linux) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/35347
328
327 const S = struct {329 const S = struct {
328 io: Io,330 io: Io,
329 err: ?Io.Cancelable!void,331 err: ?Io.Cancelable!void,
...@@ -628,6 +630,7 @@ test "randomSecure" {...@@ -628,6 +630,7 @@ test "randomSecure" {
628630
629test "memory mapping" {631test "memory mapping" {
630 if (builtin.cpu.arch == .hexagon) return error.SkipZigTest; // mmap returned EINVAL632 if (builtin.cpu.arch == .hexagon) return error.SkipZigTest; // mmap returned EINVAL
633 if (builtin.cpu.arch.isSPARC()) return error.SkipZigTest; // mmap returned EINVAL
631 if (builtin.os.tag == .wasi and builtin.link_libc) {634 if (builtin.os.tag == .wasi and builtin.link_libc) {
632 // https://github.com/ziglang/zig/issues/20747 (open fd does not have write permission)635 // https://github.com/ziglang/zig/issues/20747 (open fd does not have write permission)
633 return error.SkipZigTest;636 return error.SkipZigTest;
lib/std/math/acos.zig+2
...@@ -448,6 +448,8 @@ test "acosBinary128.special" {...@@ -448,6 +448,8 @@ test "acosBinary128.special" {
448}448}
449449
450test "acosBinary128" {450test "acosBinary128" {
451 if (builtin.cpu.arch.isSPARC()) return error.SkipZigTest;
452
451 try testing.expectApproxEqAbs(0x1.250e9a58f049eeafa99db4360c88p1, acosBinary128(-0x1.511bdb99a3c4373bedf834ef4f68p-1), math.floatEpsAt(f128, 0x1.250e9a58f049eeafa99db4360c88p1));453 try testing.expectApproxEqAbs(0x1.250e9a58f049eeafa99db4360c88p1, acosBinary128(-0x1.511bdb99a3c4373bedf834ef4f68p-1), math.floatEpsAt(f128, 0x1.250e9a58f049eeafa99db4360c88p1));
452 try testing.expectApproxEqAbs(0x1.2786664b1c676c99437b68590004p1, acosBinary128(-0x1.5879cc3ad6dfd2a52e9891c69808p-1), math.floatEpsAt(f128, 0x1.2786664b1c676c99437b68590004p1));454 try testing.expectApproxEqAbs(0x1.2786664b1c676c99437b68590004p1, acosBinary128(-0x1.5879cc3ad6dfd2a52e9891c69808p-1), math.floatEpsAt(f128, 0x1.2786664b1c676c99437b68590004p1));
453 try testing.expectApproxEqAbs(0x1.cb190cd361c7c03a09c470b4caebp-1, acosBinary128(0x1.3f988ba64a7eb97a751c5f0b3077p-1), math.floatEpsAt(f128, 0x1.cb190cd361c7c03a09c470b4caebp-1));455 try testing.expectApproxEqAbs(0x1.cb190cd361c7c03a09c470b4caebp-1, acosBinary128(0x1.3f988ba64a7eb97a751c5f0b3077p-1), math.floatEpsAt(f128, 0x1.cb190cd361c7c03a09c470b4caebp-1));
lib/std/math/asin.zig+2
...@@ -442,6 +442,8 @@ test "asinBinary128.special" {...@@ -442,6 +442,8 @@ test "asinBinary128.special" {
442}442}
443443
444test "asinBinary128" {444test "asinBinary128" {
445 if (builtin.cpu.arch.isSPARC()) return error.SkipZigTest;
446
445 try testing.expectApproxEqAbs(0x1.87e9c740d7837f8e8fa667988fbep-3, asinBinary128(0x1.85868ce287ca0196b01c25fec5ffp-3), math.floatEpsAt(f128, 0x1.87e9c740d7837f8e8fa667988fbep-3));447 try testing.expectApproxEqAbs(0x1.87e9c740d7837f8e8fa667988fbep-3, asinBinary128(0x1.85868ce287ca0196b01c25fec5ffp-3), math.floatEpsAt(f128, 0x1.87e9c740d7837f8e8fa667988fbep-3));
446 try testing.expectApproxEqAbs(0x1.bd11a474e864213b48e0f005f1f4p-1, asinBinary128(0x1.8718d6d30b4daed08d04ef59f478p-1), math.floatEpsAt(f128, 0x1.bd11a474e864213b48e0f005f1f4p-1));448 try testing.expectApproxEqAbs(0x1.bd11a474e864213b48e0f005f1f4p-1, asinBinary128(0x1.8718d6d30b4daed08d04ef59f478p-1), math.floatEpsAt(f128, 0x1.bd11a474e864213b48e0f005f1f4p-1));
447 try testing.expectApproxEqAbs(0x1.20b56f8b42649fe72d1f8d68a378p-1, asinBinary128(0x1.11a67640cd7f0ba5d5e362f3abfap-1), math.floatEpsAt(f128, 0x1.20b56f8b42649fe72d1f8d68a378p-1));449 try testing.expectApproxEqAbs(0x1.20b56f8b42649fe72d1f8d68a378p-1, asinBinary128(0x1.11a67640cd7f0ba5d5e362f3abfap-1), math.floatEpsAt(f128, 0x1.20b56f8b42649fe72d1f8d68a378p-1));
test/behavior/vector.zig-1
...@@ -749,7 +749,6 @@ test "vector reduce operation" {...@@ -749,7 +749,6 @@ test "vector reduce operation" {
749 if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;749 if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest;
750 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArm()) return error.SkipZigTest;750 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArm()) return error.SkipZigTest;
751 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;751 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
752 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isSPARC()) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/23719
753752
754 const S = struct {753 const S = struct {
755 fn testReduce(comptime op: std.builtin.ReduceOp, x: anytype, expected: anytype) !void {754 fn testReduce(comptime op: std.builtin.ReduceOp, x: anytype, expected: anytype) !void {
test/tests.zig+17
...@@ -995,6 +995,23 @@ const module_test_targets = blk: {...@@ -995,6 +995,23 @@ const module_test_targets = blk: {
995 .link_libc = true,995 .link_libc = true,
996 },996 },
997997
998 .{
999 .target = .{
1000 .cpu_arch = .sparc64,
1001 .os_tag = .linux,
1002 .abi = .none,
1003 },
1004 },
1005 // SPARC linking support is currently incomplete.
1006 // .{
1007 // .target = .{
1008 // .cpu_arch = .sparc64,
1009 // .os_tag = .linux,
1010 // .abi = .gnu,
1011 // },
1012 // .link_libc = true,
1013 // },
1014
998 // Calls are normally lowered to branch instructions that only support +/- 16 MB range when1015 // Calls are normally lowered to branch instructions that only support +/- 16 MB range when
999 // targeting Thumb. This easily becomes insufficient for our test binaries, so use long1016 // targeting Thumb. This easily becomes insufficient for our test binaries, so use long
1000 // calls to avoid out-of-range relocations.1017 // calls to avoid out-of-range relocations.