As described in PR libstdc++/107815, one subtest of
20_util/to_chars/float128_c++23.cc was disabled on Solaris due to a bug
in printf(3C). This has been fixed since October 2023, so the
workaround can be removed.
Tested on i386-pc-solaris2.11, sparc-sun-solaris2.11, and
x86_64-pc-linux-gnu.
Ok for trunk.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2026-05-13 Rainer Orth <[email protected]>
libstdc++-v3:
PR libstdc++/107815
* testsuite/20_util/to_chars/float128_c++23.cc (test): Remove
Solaris workaround.
# HG changeset patch
# Parent 235f16713a8881a0290c23ea185bd2a3557fba52
libstdc++: Remove Solaris workaround in 20_util/to_chars/float128_c++23.cc [PR107815]
diff --git a/libstdc++-v3/testsuite/20_util/to_chars/float128_c++23.cc b/libstdc++-v3/testsuite/20_util/to_chars/float128_c++23.cc
--- a/libstdc++-v3/testsuite/20_util/to_chars/float128_c++23.cc
+++ b/libstdc++-v3/testsuite/20_util/to_chars/float128_c++23.cc
@@ -52,10 +52,7 @@ test(std::chars_format fmt = std::chars_
std::numbers::inv_sqrt3_v<std::float128_t>,
std::numbers::egamma_v<std::float128_t>,
std::numbers::phi_v<std::float128_t>,
-// Solaris has non-conforming printf, see PR98384 and PR107815.
-#if !(defined(__sun__) && defined(__svr4__))
std::numeric_limits<std::float128_t>::max()
-#endif
};
char str1[10000], str2[10000];
for (auto u : tests)