From d3ee286511d5b4525498c289f9af379c94c5306c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Sat, 25 Apr 2026 14:44:42 +0200 Subject: [PATCH] test: add loongarch64-linux-muslsf to test-c-abi matrix --- test/c_abi/cfuncs.c | 4 ++++ test/c_abi/main.zig | 4 +++- test/tests.zig | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/test/c_abi/cfuncs.c b/test/c_abi/cfuncs.c index 0433423ef3..89f611c274 100644 --- a/test/c_abi/cfuncs.c +++ b/test/c_abi/cfuncs.c @@ -64,6 +64,10 @@ static void assert_or_panic(bool ok) { # define ZIG_NO_COMPLEX #endif +#if defined(__loongarch__) && defined(__loongarch_soft_float) +# define ZIG_NO_COMPLEX +#endif + #ifdef __powerpc__ # define ZIG_NO_COMPLEX #endif diff --git a/test/c_abi/main.zig b/test/c_abi/main.zig index e37696a062..f1566c2ae3 100644 --- a/test/c_abi/main.zig +++ b/test/c_abi/main.zig @@ -187,7 +187,8 @@ extern fn c_cmultd(a: ComplexDouble, b: ComplexDouble) ComplexDouble; const complex_abi_compatible = builtin.cpu.arch != .x86 and !builtin.cpu.arch.isMIPS() and !builtin.cpu.arch.isArm() and !builtin.cpu.arch.isPowerPC32() and !builtin.cpu.arch.isRISCV() and builtin.cpu.arch != .hexagon and - builtin.cpu.arch != .s390x; + builtin.cpu.arch != .s390x and + !(builtin.cpu.arch.isLoongArch() and builtin.abi.float() == .soft); test "C ABI complex float" { if (!complex_abi_compatible) return error.SkipZigTest; @@ -5611,6 +5612,7 @@ test "C ABI pointer sized float struct" { if (builtin.cpu.arch.isMIPS64()) return error.SkipZigTest; if (builtin.cpu.arch.isPowerPC32()) return error.SkipZigTest; if (builtin.cpu.arch.isArm() and builtin.abi.float() == .soft) return error.SkipZigTest; + if (builtin.cpu.arch.isLoongArch() and builtin.abi.float() == .soft) return error.SkipZigTest; if (builtin.cpu.arch == .s390x) return error.SkipZigTest; c_ptr_size_float_struct(.{ .x = 1, .y = 2 }); diff --git a/test/tests.zig b/test/tests.zig index 93343468cb..e4a65a5479 100644 --- a/test/tests.zig +++ b/test/tests.zig @@ -1764,6 +1764,13 @@ const c_abi_targets = blk: { .abi = .musl, }, }, + .{ + .target = .{ + .cpu_arch = .loongarch64, + .os_tag = .linux, + .abi = .muslsf, + }, + }, .{ .target = .{