Commit ba346ecfe9

Jakub Konka <kubkon@jakubkonka.com>
2022-08-25 17:01:18
run_translated_c: disable failing test on Windows
ziglang/zig#12630
1 parent 4405188
Changed files (1)
test/run_translated_c.zig
@@ -1,4 +1,5 @@
 const std = @import("std");
+const builtin = @import("builtin");
 const tests = @import("tests.zig");
 const nl = std.cstr.line_sep;
 
@@ -1683,38 +1684,41 @@ pub fn addCases(cases: *tests.RunTranslatedCContext) void {
     // TODO: add isnan check for long double once bitfield support is added
     //       (needed for x86_64-windows-gnu)
     // TODO: add isinf check for long double once std.math.isInf supports c_longdouble
-    cases.add("NAN and INFINITY",
-        \\#include <math.h>
-        \\#include <stdint.h>
-        \\#include <stdlib.h>
-        \\union uf { uint32_t u; float f; };
-        \\#define CHECK_NAN(STR, VAL) { \
-        \\    union uf unpack = {.f = __builtin_nanf(STR)}; \
-        \\    if (!isnan(unpack.f)) abort(); \
-        \\    if (unpack.u != VAL) abort(); \
-        \\}
-        \\int main(void) {
-        \\    float f_nan = NAN;
-        \\    if (!isnan(f_nan)) abort();
-        \\    double d_nan = NAN;
-        \\    if (!isnan(d_nan)) abort();
-        \\    CHECK_NAN("0", 0x7FC00000);
-        \\    CHECK_NAN("", 0x7FC00000);
-        \\    CHECK_NAN("1", 0x7FC00001);
-        \\    CHECK_NAN("0x7FC00000", 0x7FC00000);
-        \\    CHECK_NAN("0x7FC0000F", 0x7FC0000F);
-        \\    CHECK_NAN("0x7FC000F0", 0x7FC000F0);
-        \\    CHECK_NAN("0x7FC00F00", 0x7FC00F00);
-        \\    CHECK_NAN("0x7FC0F000", 0x7FC0F000);
-        \\    CHECK_NAN("0x7FCF0000", 0x7FCF0000);
-        \\    CHECK_NAN("0xFFFFFFFF", 0x7FFFFFFF);
-        \\    float f_inf = INFINITY;
-        \\    if (!isinf(f_inf)) abort();
-        \\    double d_inf = INFINITY;
-        \\    if (!isinf(d_inf)) abort();
-        \\    return 0;
-        \\}
-    , "");
+    // TODO https://github.com/ziglang/zig/issues/12630
+    if (!(builtin.zig_backend == .stage2_llvm and builtin.target.os.tag == .windows)) {
+        cases.add("NAN and INFINITY",
+            \\#include <math.h>
+            \\#include <stdint.h>
+            \\#include <stdlib.h>
+            \\union uf { uint32_t u; float f; };
+            \\#define CHECK_NAN(STR, VAL) { \
+            \\    union uf unpack = {.f = __builtin_nanf(STR)}; \
+            \\    if (!isnan(unpack.f)) abort(); \
+            \\    if (unpack.u != VAL) abort(); \
+            \\}
+            \\int main(void) {
+            \\    float f_nan = NAN;
+            \\    if (!isnan(f_nan)) abort();
+            \\    double d_nan = NAN;
+            \\    if (!isnan(d_nan)) abort();
+            \\    CHECK_NAN("0", 0x7FC00000);
+            \\    CHECK_NAN("", 0x7FC00000);
+            \\    CHECK_NAN("1", 0x7FC00001);
+            \\    CHECK_NAN("0x7FC00000", 0x7FC00000);
+            \\    CHECK_NAN("0x7FC0000F", 0x7FC0000F);
+            \\    CHECK_NAN("0x7FC000F0", 0x7FC000F0);
+            \\    CHECK_NAN("0x7FC00F00", 0x7FC00F00);
+            \\    CHECK_NAN("0x7FC0F000", 0x7FC0F000);
+            \\    CHECK_NAN("0x7FCF0000", 0x7FCF0000);
+            \\    CHECK_NAN("0xFFFFFFFF", 0x7FFFFFFF);
+            \\    float f_inf = INFINITY;
+            \\    if (!isinf(f_inf)) abort();
+            \\    double d_inf = INFINITY;
+            \\    if (!isinf(d_inf)) abort();
+            \\    return 0;
+            \\}
+        , "");
+    }
 
     cases.add("signed array subscript. Issue #8556",
         \\#include <stdint.h>