As pointed out by Jakub, the use of excess precision is most likely source
of differences.
libstdc++-v3/ChangeLog:
*
testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize2.cc:
Guard test_custom invocations with __FLT_EVAL_METHOD__ macros.
*
testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize2.cc:
Guard test_custom invocations with __FLT_EVAL_METHOD__ macros.
---
Jakub could you check if that fixes the issue for you?
Test are passing with -m32 on my machine, but they were also yesterday.
.../operators/serialize2.cc | 9 +++++++--
.../operators/serialize2.cc | 10 ++++++++--
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git
a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize2.cc
b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize2.cc
index dae9f4aaf34..4d0da7b9d15 100644
---
a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize2.cc
+++
b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize2.cc
@@ -3,6 +3,7 @@
// { dg-require-cstdint "" }
#include <random>
+#include <cfloat>
#include <sstream>
#include <testsuite_hooks.h>
@@ -100,10 +101,14 @@ int main()
test_default<double>();
test_default<long double>();
-#ifdef __x86_64__
+#if __FLT_EVAL_METHOD__ >= 0
+# if __FLT_EVAL_METHOD__ == 0
test_custom<float>();
-#endif
+# endif
+# if __FLT_EVAL_METHOD__ != 2
test_custom<double>();
+# endif
test_custom<long double>();
+#endif
return 0;
}
diff --git
a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize2.cc
b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize2.cc
index 36157dea4e0..8de37dcd5b8 100644
---
a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize2.cc
+++
b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize2.cc
@@ -3,6 +3,7 @@
// { dg-require-cstdint "" }
#include <random>
+#include <cfloat>
#include <sstream>
#include <testsuite_hooks.h>
@@ -103,10 +104,15 @@ int main()
test_default<double>();
test_default<long double>();
+#if __FLT_EVAL_METHOD__ >= 0
+# if __FLT_EVAL_METHOD__ == 0
test_custom<float>();
-#ifdef __x86_64__
+# endif
+# if __FLT_EVAL_METHOD__ != 2
test_custom<double>();
-#endif
+# endif
test_custom<long double>();
+#endif
+
return 0;
}
--
2.55.0