[gcc r17-2483] libstdc++: Use __FLT_EVAL_METHOD__ to enable test for piecewise distributions.
Tomasz Kaminski
tkaminsk@gcc.gnu.org
Fri Jul 17 10:27:40 GMT 2026
https://gcc.gnu.org/g:306f4aef140910bfc803fe9c894b12615b35aac7
commit r17-2483-g306f4aef140910bfc803fe9c894b12615b35aac7
Author: Tomasz Kamiński <tkaminsk@redhat.com>
Date: Fri Jul 17 11:49:30 2026 +0200
libstdc++: Use __FLT_EVAL_METHOD__ to enable test for piecewise distributions.
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:
Likewise.
Diff:
---
.../piecewise_constant_distribution/operators/serialize2.cc | 8 ++++++--
.../random/piecewise_linear_distribution/operators/serialize2.cc | 9 +++++++--
2 files changed, 13 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 dae9f4aaf34f..9d6eae9459fd 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
@@ -100,10 +100,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 36157dea4e0f..f86ed47873d4 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
@@ -103,10 +103,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;
}
More information about the Libstdc++-cvs
mailing list