diff --git a/lib/std/math/float.zig b/lib/std/math/float.zig index a10332f863830a062bf1c9c3d1fecec4fbc0b0c0..b7269b3ba99ed836bfeac9e39e9edb06efb258ff 100644 --- a/lib/std/math/float.zig +++ b/lib/std/math/float.zig @@ -172,9 +172,6 @@ test nan { } test snan { - // TODO: https://github.com/ziglang/zig/issues/14366 - if (builtin.zig_backend == .stage2_llvm and comptime builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest; - const snan_u16: u16 = 0x7D00; const snan_u32: u32 = 0x7FA00000; const snan_u64: u64 = 0x7FF4000000000000; diff --git a/lib/std/math/isnan.zig b/lib/std/math/isnan.zig index cb929e58903276378516bd52ac5dfe952ff34fd8..a85100ba90f0f9e903a4325750329ac56e0f12f3 100644 --- a/lib/std/math/isnan.zig +++ b/lib/std/math/isnan.zig @@ -32,7 +32,13 @@ test isSignalNan { // TODO: Signalling NaN values get converted to quiet NaN values in // some cases where they shouldn't such that this can fail. // See https://github.com/ziglang/zig/issues/14366 - // try expect(isSignalNan(math.snan(T))); + if (!builtin.cpu.arch.isArmOrThumb() and + !builtin.cpu.arch.isAARCH64() and + !builtin.cpu.arch.isPowerPC() and + builtin.zig_backend != .stage2_c) + { + try expect(isSignalNan(math.snan(T))); + } try expect(!isSignalNan(math.nan(T))); try expect(!isSignalNan(@as(T, 1.0))); try expect(!isSignalNan(math.inf(T))); diff --git a/test/behavior/bitcast.zig b/test/behavior/bitcast.zig index 32ea5a62e649e641266794eb5bdefc8f954a1e10..2ef97c831022e27f7b83087dc6eb955ff70fcaa8 100644 --- a/test/behavior/bitcast.zig +++ b/test/behavior/bitcast.zig @@ -429,9 +429,6 @@ test "bitcast nan float does not modify signaling bit" { if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest; if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; - // TODO: https://github.com/ziglang/zig/issues/14366 - if (builtin.zig_backend == .stage2_llvm and comptime builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest; - const snan_u16: u16 = 0x7D00; const snan_u32: u32 = 0x7FA00000; const snan_u64: u64 = 0x7FF4000000000000;