-
Notifications
You must be signed in to change notification settings - Fork 32
Description
On Ubuntu 25.04 the to_static_string tests fail for floating point types, likely because the underlying libstdc++ is that of GCC 15, as I see the same failures for the used Clang versions.
See https://github.com/boostorg/static_string/actions/runs/18156408010/job/51686048189
libs/static_string/test/static_string.cpp(3955): test 'str == std_res' ('0.100000' == '0.1') failed in function 'void boost::static_strings::testToStaticString()'
libs/static_string/test/static_string.cpp(3956): test 'str == std_res' ('0.000000' == '1e-07') failed in function 'void boost::static_strings::testToStaticString()'
libs/static_string/test/static_string.cpp(3957): test 'str == std_res' ('-0.000000' == '-1e-07') failed in function 'void boost::static_strings::testToStaticString()'
libs/static_string/test/static_string.cpp(3958): test 'str == std_res' ('-0.100000' == '-0.1') failed in function 'void boost::static_strings::testToStaticString()'
libs/static_string/test/static_string.cpp(3959): test 'str == std_res' ('1234567890.000100' == '1234567890.0001') failed in function 'void boost::static_strings::testToStaticString()'
libs/static_string/test/static_string.cpp(3960): test 'str == std_res' ('1.123457' == '1.123456789012345') failed in function 'void boost::static_strings::testToStaticString()'
libs/static_string/test/static_string.cpp(3961): test 'str == std_res' ('-1234567890.123400' == '-1234567890.1234') failed in function 'void boost::static_strings::testToStaticString()'
libs/static_string/test/static_string.cpp(3962): test 'str == std_res' ('-1.123457' == '-1.123456789012345') failed in function 'void boost::static_strings::testToStaticString()'
libs/static_string/test/static_string.cpp(3968): test 'str == std_res' ('0.000000' == '3.3621031431120935063e-4932') failed in function 'void boost::static_strings::testToStaticString()'
libs/static_string/test/static_string.cpp(3969): test 'str == std_res' ('0.000000' == '1.1754944e-38') failed in function 'void boost::static_strings::testToStaticString()'
Note that I changed the tests to use BOOST_TEST_EQ to see the actual values on failure.
'-1.123457' == '-1.123456789012345' seems most worrying as the rounding is wrong: The value is cut off