[libcxx-commits] [PATCH] D118235: [libcxx] [test] Clarify a MinGW test failure waiver in rand.dist.uni.int/eval.pass.cpp
Martin Storsjö via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Jan 26 12:42:28 PST 2022
mstorsjo updated this revision to Diff 403376.
mstorsjo marked an inline comment as done.
mstorsjo added a comment.
Use a conditional ifdef to narrow down the workaround as suggested.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118235/new/
https://reviews.llvm.org/D118235
Files:
libcxx/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/eval.pass.cpp
Index: libcxx/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/eval.pass.cpp
===================================================================
--- libcxx/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/eval.pass.cpp
+++ libcxx/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/eval.pass.cpp
@@ -7,9 +7,6 @@
//===----------------------------------------------------------------------===//
//
// REQUIRES: long_tests
-//
-// This fails on MinGW for some unknown reason.
-// UNSUPPORTED: target={{.+}}-windows-gnu
// <random>
@@ -28,6 +25,12 @@
#include "test_macros.h"
+// The __int128 conversions to/from floating point crash on MinGW on x86_64.
+// This is fixed in Clang 14 by https://reviews.llvm.org/D110413.
+#if defined(__x86_64__) && defined(__MINGW32__) && defined(__clang_major__) && __clang_major__ < 14
+ #define TEST_BUGGY_I128_FP
+#endif
+
template <class T>
T sqr(T x)
{
@@ -130,7 +133,7 @@
// or unsigned long long.
// (We support __int128 as an extension.)
-#ifndef _LIBCPP_HAS_NO_INT128
+#if !defined(_LIBCPP_HAS_NO_INT128) && !defined(TEST_BUGGY_I128_FP)
test_statistics<__int128_t, std::minstd_rand0>();
test_statistics<__uint128_t, std::minstd_rand0>();
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D118235.403376.patch
Type: text/x-patch
Size: 1260 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220126/2f5c21bf/attachment.bin>
More information about the libcxx-commits
mailing list