mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-03-08 01:24:49 +01:00
test-libc: run some math tests
This commit is contained in:
parent
5e242f0551
commit
b94a65ed40
3 changed files with 208 additions and 7 deletions
200
test/libc.zig
200
test/libc.zig
|
|
@ -137,6 +137,206 @@ pub fn addCases(cases: *tests.LibcContext) void {
|
|||
cases.addLibcTestCase("regression/uselocale-0.c", true, .{});
|
||||
cases.addLibcTestCase("regression/wcsncpy-read-overflow.c", true, .{});
|
||||
cases.addLibcTestCase("regression/wcsstr-false-negative.c", true, .{});
|
||||
|
||||
// cases.addLibcTestCase("math/acos.c", true, .{});
|
||||
// cases.addLibcTestCase("math/acosf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/acosh.c", true, .{});
|
||||
cases.addLibcTestCase("math/acoshf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/acoshl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/acosl.c", true, .{});
|
||||
cases.addLibcTestCase("math/asin.c", true, .{});
|
||||
cases.addLibcTestCase("math/asinf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/asinh.c", true, .{});
|
||||
cases.addLibcTestCase("math/asinhf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/asinhl.c", true, .{});
|
||||
cases.addLibcTestCase("math/asinl.c", true, .{});
|
||||
cases.addLibcTestCase("math/atan.c", true, .{});
|
||||
// cases.addLibcTestCase("math/atan2.c", true, .{});
|
||||
// cases.addLibcTestCase("math/atan2f.c", true, .{});
|
||||
// cases.addLibcTestCase("math/atan2l.c", true, .{});
|
||||
cases.addLibcTestCase("math/atanf.c", true, .{});
|
||||
cases.addLibcTestCase("math/atanh.c", true, .{});
|
||||
cases.addLibcTestCase("math/atanhf.c", true, .{});
|
||||
cases.addLibcTestCase("math/atanhl.c", true, .{});
|
||||
cases.addLibcTestCase("math/atanl.c", true, .{});
|
||||
cases.addLibcTestCase("math/cbrt.c", true, .{});
|
||||
cases.addLibcTestCase("math/cbrtf.c", true, .{});
|
||||
cases.addLibcTestCase("math/cbrtl.c", true, .{});
|
||||
cases.addLibcTestCase("math/ceil.c", true, .{});
|
||||
cases.addLibcTestCase("math/ceilf.c", true, .{});
|
||||
cases.addLibcTestCase("math/ceill.c", true, .{});
|
||||
cases.addLibcTestCase("math/copysign.c", true, .{});
|
||||
cases.addLibcTestCase("math/copysignf.c", true, .{});
|
||||
cases.addLibcTestCase("math/copysignl.c", true, .{});
|
||||
cases.addLibcTestCase("math/cos.c", true, .{});
|
||||
cases.addLibcTestCase("math/cosf.c", true, .{});
|
||||
cases.addLibcTestCase("math/cosh.c", true, .{});
|
||||
cases.addLibcTestCase("math/coshf.c", true, .{});
|
||||
cases.addLibcTestCase("math/coshl.c", true, .{});
|
||||
cases.addLibcTestCase("math/cosl.c", true, .{});
|
||||
cases.addLibcTestCase("math/drem.c", true, .{});
|
||||
cases.addLibcTestCase("math/dremf.c", true, .{});
|
||||
cases.addLibcTestCase("math/erf.c", true, .{});
|
||||
cases.addLibcTestCase("math/erfc.c", true, .{});
|
||||
// cases.addLibcTestCase("math/erfcf.c", true, .{});
|
||||
cases.addLibcTestCase("math/erfcl.c", true, .{});
|
||||
cases.addLibcTestCase("math/erff.c", true, .{});
|
||||
cases.addLibcTestCase("math/erfl.c", true, .{});
|
||||
cases.addLibcTestCase("math/exp.c", true, .{});
|
||||
cases.addLibcTestCase("math/exp10.c", true, .{});
|
||||
cases.addLibcTestCase("math/exp10f.c", true, .{});
|
||||
cases.addLibcTestCase("math/exp10l.c", true, .{});
|
||||
cases.addLibcTestCase("math/exp2.c", true, .{});
|
||||
cases.addLibcTestCase("math/exp2f.c", true, .{});
|
||||
cases.addLibcTestCase("math/exp2l.c", true, .{});
|
||||
cases.addLibcTestCase("math/expf.c", true, .{});
|
||||
cases.addLibcTestCase("math/expl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/expm1.c", true, .{});
|
||||
// cases.addLibcTestCase("math/expm1f.c", true, .{});
|
||||
// cases.addLibcTestCase("math/expm1l.c", true, .{});
|
||||
cases.addLibcTestCase("math/fabs.c", true, .{});
|
||||
cases.addLibcTestCase("math/fabsf.c", true, .{});
|
||||
cases.addLibcTestCase("math/fabsl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/fdim.c", true, .{});
|
||||
// cases.addLibcTestCase("math/fdimf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/fdiml.c", true, .{});
|
||||
cases.addLibcTestCase("math/fenv.c", true, .{});
|
||||
cases.addLibcTestCase("math/floor.c", true, .{});
|
||||
cases.addLibcTestCase("math/floorf.c", true, .{});
|
||||
cases.addLibcTestCase("math/floorl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/fma.c", true, .{});
|
||||
// cases.addLibcTestCase("math/fmaf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/fmal.c", true, .{});
|
||||
cases.addLibcTestCase("math/fmax.c", true, .{});
|
||||
cases.addLibcTestCase("math/fmaxf.c", true, .{});
|
||||
cases.addLibcTestCase("math/fmaxl.c", true, .{});
|
||||
cases.addLibcTestCase("math/fmin.c", true, .{});
|
||||
cases.addLibcTestCase("math/fminf.c", true, .{});
|
||||
cases.addLibcTestCase("math/fminl.c", true, .{});
|
||||
cases.addLibcTestCase("math/fmod.c", true, .{});
|
||||
cases.addLibcTestCase("math/fmodf.c", true, .{});
|
||||
cases.addLibcTestCase("math/fmodl.c", true, .{});
|
||||
cases.addLibcTestCase("math/fpclassify.c", true, .{});
|
||||
cases.addLibcTestCase("math/frexp.c", true, .{});
|
||||
cases.addLibcTestCase("math/frexpf.c", true, .{});
|
||||
cases.addLibcTestCase("math/frexpl.c", true, .{});
|
||||
cases.addLibcTestCase("math/hypot.c", true, .{});
|
||||
cases.addLibcTestCase("math/hypotf.c", true, .{});
|
||||
cases.addLibcTestCase("math/hypotl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/ilogb.c", true, .{});
|
||||
// cases.addLibcTestCase("math/ilogbf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/ilogbl.c", true, .{});
|
||||
cases.addLibcTestCase("math/isless.c", true, .{});
|
||||
// cases.addLibcTestCase("math/j0.c", true, .{});
|
||||
cases.addLibcTestCase("math/j0f.c", true, .{});
|
||||
cases.addLibcTestCase("math/j1.c", true, .{});
|
||||
cases.addLibcTestCase("math/j1f.c", true, .{});
|
||||
// cases.addLibcTestCase("math/jn.c", true, .{});
|
||||
// cases.addLibcTestCase("math/jnf.c", true, .{});
|
||||
cases.addLibcTestCase("math/ldexp.c", true, .{});
|
||||
cases.addLibcTestCase("math/ldexpf.c", true, .{});
|
||||
cases.addLibcTestCase("math/ldexpl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/lgamma.c", true, .{});
|
||||
cases.addLibcTestCase("math/lgamma_r.c", true, .{});
|
||||
// cases.addLibcTestCase("math/lgammaf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/lgammaf_r.c", true, .{});
|
||||
// cases.addLibcTestCase("math/lgammal.c", true, .{});
|
||||
cases.addLibcTestCase("math/lgammal_r.c", true, .{});
|
||||
// cases.addLibcTestCase("math/llrint.c", true, .{});
|
||||
// cases.addLibcTestCase("math/llrintf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/llrintl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/llround.c", true, .{});
|
||||
// cases.addLibcTestCase("math/llroundf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/llroundl.c", true, .{});
|
||||
cases.addLibcTestCase("math/log.c", true, .{});
|
||||
cases.addLibcTestCase("math/log10.c", true, .{});
|
||||
cases.addLibcTestCase("math/log10f.c", true, .{});
|
||||
cases.addLibcTestCase("math/log10l.c", true, .{});
|
||||
// cases.addLibcTestCase("math/log1p.c", true, .{});
|
||||
// cases.addLibcTestCase("math/log1pf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/log1pl.c", true, .{});
|
||||
cases.addLibcTestCase("math/log2.c", true, .{});
|
||||
cases.addLibcTestCase("math/log2f.c", true, .{});
|
||||
cases.addLibcTestCase("math/log2l.c", true, .{});
|
||||
cases.addLibcTestCase("math/logb.c", true, .{});
|
||||
cases.addLibcTestCase("math/logbf.c", true, .{});
|
||||
cases.addLibcTestCase("math/logbl.c", true, .{});
|
||||
cases.addLibcTestCase("math/logf.c", true, .{});
|
||||
cases.addLibcTestCase("math/logl.c", true, .{});
|
||||
cases.addLibcTestCase("math/lrint.c", true, .{});
|
||||
cases.addLibcTestCase("math/lrintf.c", true, .{});
|
||||
cases.addLibcTestCase("math/lrintl.c", true, .{});
|
||||
cases.addLibcTestCase("math/lround.c", true, .{});
|
||||
cases.addLibcTestCase("math/lroundf.c", true, .{});
|
||||
cases.addLibcTestCase("math/lroundl.c", true, .{});
|
||||
cases.addLibcTestCase("math/modf.c", true, .{});
|
||||
cases.addLibcTestCase("math/modff.c", true, .{});
|
||||
cases.addLibcTestCase("math/modfl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/nearbyint.c", true, .{});
|
||||
cases.addLibcTestCase("math/nearbyintf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/nearbyintl.c", true, .{});
|
||||
cases.addLibcTestCase("math/nextafter.c", true, .{});
|
||||
cases.addLibcTestCase("math/nextafterf.c", true, .{});
|
||||
cases.addLibcTestCase("math/nextafterl.c", true, .{});
|
||||
cases.addLibcTestCase("math/nexttoward.c", true, .{});
|
||||
cases.addLibcTestCase("math/nexttowardf.c", true, .{});
|
||||
cases.addLibcTestCase("math/nexttowardl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/pow.c", true, .{});
|
||||
cases.addLibcTestCase("math/pow10.c", true, .{});
|
||||
cases.addLibcTestCase("math/pow10f.c", true, .{});
|
||||
cases.addLibcTestCase("math/pow10l.c", true, .{});
|
||||
// cases.addLibcTestCase("math/powf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/powl.c", true, .{});
|
||||
cases.addLibcTestCase("math/remainder.c", true, .{});
|
||||
cases.addLibcTestCase("math/remainderf.c", true, .{});
|
||||
cases.addLibcTestCase("math/remainderl.c", true, .{});
|
||||
cases.addLibcTestCase("math/remquo.c", true, .{});
|
||||
cases.addLibcTestCase("math/remquof.c", true, .{});
|
||||
cases.addLibcTestCase("math/remquol.c", true, .{});
|
||||
// cases.addLibcTestCase("math/rint.c", true, .{});
|
||||
cases.addLibcTestCase("math/rintf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/rintl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/round.c", true, .{});
|
||||
// cases.addLibcTestCase("math/roundf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/roundl.c", true, .{});
|
||||
cases.addLibcTestCase("math/scalb.c", true, .{});
|
||||
cases.addLibcTestCase("math/scalbf.c", true, .{});
|
||||
cases.addLibcTestCase("math/scalbln.c", true, .{});
|
||||
cases.addLibcTestCase("math/scalblnf.c", true, .{});
|
||||
cases.addLibcTestCase("math/scalblnl.c", true, .{});
|
||||
cases.addLibcTestCase("math/scalbn.c", true, .{});
|
||||
cases.addLibcTestCase("math/scalbnf.c", true, .{});
|
||||
cases.addLibcTestCase("math/scalbnl.c", true, .{});
|
||||
cases.addLibcTestCase("math/sin.c", true, .{});
|
||||
cases.addLibcTestCase("math/sincos.c", true, .{});
|
||||
cases.addLibcTestCase("math/sincosf.c", true, .{});
|
||||
cases.addLibcTestCase("math/sincosl.c", true, .{});
|
||||
cases.addLibcTestCase("math/sinf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/sinh.c", true, .{});
|
||||
cases.addLibcTestCase("math/sinhf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/sinhl.c", true, .{});
|
||||
cases.addLibcTestCase("math/sinl.c", true, .{});
|
||||
cases.addLibcTestCase("math/sqrt.c", true, .{});
|
||||
cases.addLibcTestCase("math/sqrtf.c", true, .{});
|
||||
cases.addLibcTestCase("math/sqrtl.c", true, .{});
|
||||
cases.addLibcTestCase("math/tan.c", true, .{});
|
||||
cases.addLibcTestCase("math/tanf.c", true, .{});
|
||||
cases.addLibcTestCase("math/tanh.c", true, .{});
|
||||
cases.addLibcTestCase("math/tanhf.c", true, .{});
|
||||
cases.addLibcTestCase("math/tanhl.c", true, .{});
|
||||
cases.addLibcTestCase("math/tanl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/tgamma.c", true, .{});
|
||||
// cases.addLibcTestCase("math/tgammaf.c", true, .{});
|
||||
// cases.addLibcTestCase("math/tgammal.c", true, .{});
|
||||
cases.addLibcTestCase("math/trunc.c", true, .{});
|
||||
cases.addLibcTestCase("math/truncf.c", true, .{});
|
||||
cases.addLibcTestCase("math/truncl.c", true, .{});
|
||||
// cases.addLibcTestCase("math/y0.c", true, .{});
|
||||
// cases.addLibcTestCase("math/y0f.c", true, .{});
|
||||
// cases.addLibcTestCase("math/y1.c", true, .{});
|
||||
// cases.addLibcTestCase("math/y1f.c", true, .{});
|
||||
// cases.addLibcTestCase("math/yn.c", true, .{});
|
||||
// cases.addLibcTestCase("math/ynf.c", true, .{});
|
||||
}
|
||||
|
||||
const std = @import("std");
|
||||
|
|
|
|||
|
|
@ -60,10 +60,10 @@ pub fn addTarget(libc: *const Libc, target: std.Build.ResolvedTarget) void {
|
|||
.link_libc = true,
|
||||
});
|
||||
|
||||
var libtest_c_source_files: []const []const u8 = &.{ "print.c", "rand.c", "setrlim.c", "memfill.c", "vmfill.c", "fdfill.c", "utf8.c" };
|
||||
var libtest_c_source_files: []const []const u8 = &.{ "print.c", "rand.c", "mtest.c", "setrlim.c", "memfill.c", "vmfill.c", "fdfill.c", "utf8.c" };
|
||||
libtest_mod.addCSourceFiles(.{
|
||||
.root = common,
|
||||
.files = libtest_c_source_files[0..if (target.result.isMuslLibC()) 7 else 2],
|
||||
.files = libtest_c_source_files[0..if (target.result.isMuslLibC()) 8 else 3],
|
||||
.flags = &.{"-fno-builtin"},
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -2873,11 +2873,12 @@ const libc_targets: []const std.Target.Query = &.{
|
|||
.os_tag = .linux,
|
||||
.abi = .musl,
|
||||
},
|
||||
.{
|
||||
.cpu_arch = .loongarch64,
|
||||
.os_tag = .linux,
|
||||
.abi = .muslsf,
|
||||
},
|
||||
// Macros like FE_INVALID are defined by musl, but they shouldn't.
|
||||
// .{
|
||||
// .cpu_arch = .loongarch64,
|
||||
// .os_tag = .linux,
|
||||
// .abi = .muslsf,
|
||||
// },
|
||||
// .{
|
||||
// .cpu_arch = .mips,
|
||||
// .os_tag = .linux,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue