[libcxx] [test] Narrow down a MinGW bug workaround in rand.dist.uni.int/eval.pass.cpp

Differential Revision: https://reviews.llvm.org/D118235
This commit is contained in:
Martin Storsjö 2022-01-20 22:33:56 +00:00
parent c9da81d997
commit 0d5b35934e
1 changed files with 7 additions and 4 deletions

View File

@ -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 @@ int main(int, char**)
// 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>();