authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-09-16 10:45:31+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-08 13:52:53+02:00
log5e96f6e102607aa5d014f1737fdbfe6ce7156475
tree3ba859637e02a2da6a6913e8467244975556e6ae
parent9d12f989a897bfde34f832ef170b4be1468b29bc
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

test: refactor compatible32bitArch() -> supportedCompatArch()

Also fix some inaccuracies in it.

1 files changed, 22 insertions(+), 25 deletions(-)

test/tests.zig+22-25
...@@ -2323,38 +2323,38 @@ pub const debugger_matrix: []const RunnerTarget = &.{...@@ -2323,38 +2323,38 @@ pub const debugger_matrix: []const RunnerTarget = &.{
2323 },2323 },
2324};2324};
23252325
2326fn compatible32bitArch(host: *const std.Target) ?std.Target.Cpu.Arch {2326fn supportedCompatArch(host: *const std.Target, arch: std.Target.Cpu.Arch) bool {
2327 return switch (host.os.tag) {2327 return switch (host.os.tag) {
2328 .freebsd => switch (host.cpu.arch) {2328 .freebsd => switch (host.cpu.arch) {
2329 .aarch64 => .arm,2329 .aarch64 => arch == .arm,
2330 .powerpc64 => .powerpc,2330 else => false,
2331 else => null,
2332 },2331 },
2333 .illumos => switch (host.cpu.arch) {2332 .illumos => switch (host.cpu.arch) {
2334 .x86_64 => .x86,2333 .x86_64 => arch == .x86,
2335 else => null,2334 else => false,
2336 },2335 },
2337 .linux => switch (host.cpu.arch) {2336 .linux => switch (host.cpu.arch) {
2338 .aarch64 => .arm,2337 .aarch64 => arch == .arm or arch == .thumb,
2339 .aarch64_be => .armeb,2338 .aarch64_be => arch == .armeb or arch == .thumbeb,
2340 .mips64 => .mips,2339 .mips64 => arch == .mips,
2341 .mips64el => .mipsel,2340 .mips64el => arch == .mipsel,
2342 .powerpc64 => .powerpc,2341 .powerpc64 => arch == .powerpc,
2343 .sparc64 => .sparc,2342 .riscv64 => arch == .riscv32,
2344 .x86_64 => .x86,2343 .sparc64 => arch == .sparc,
2345 else => null,2344 .x86_64 => arch == .x86,
2345 else => false,
2346 },2346 },
2347 .netbsd => switch (host.cpu.arch) {2347 .netbsd => switch (host.cpu.arch) {
2348 .riscv64 => .riscv32,2348 .riscv64 => arch == .riscv32,
2349 .sparc64 => .sparc,2349 .sparc64 => arch == .sparc,
2350 .x86_64 => .x86,2350 .x86_64 => arch == .x86,
2351 else => null,2351 else => false,
2352 },2352 },
2353 .windows => switch (host.cpu.arch) {2353 .windows => switch (host.cpu.arch) {
2354 .x86_64 => .x86,2354 .x86_64 => arch == .x86,
2355 else => null,2355 else => false,
2356 },2356 },
2357 else => null,2357 else => false,
2358 };2358 };
2359}2359}
23602360
...@@ -2362,11 +2362,8 @@ pub fn isNative(actual_target: *const std.Build.ResolvedTarget, host: *const std...@@ -2362,11 +2362,8 @@ pub fn isNative(actual_target: *const std.Build.ResolvedTarget, host: *const std
2362 if (actual_target.query.isNative()) return true;2362 if (actual_target.query.isNative()) return true;
2363 const actual = &actual_target.result;2363 const actual = &actual_target.result;
23642364
2365 if (actual.cpu.arch != host.cpu.arch and2365 if (actual.cpu.arch != host.cpu.arch and !supportedCompatArch(host, actual.cpu.arch))
2366 actual.cpu.arch != compatible32bitArch(host))
2367 {
2368 return false;2366 return false;
2369 }
23702367
2371 if (actual.os.tag != host.os.tag)2368 if (actual.os.tag != host.os.tag)
2372 return false;2369 return false;