In C++26 paper P3391, "constexpr formatting", has been adopted,
part of which marks std::to_string & std::to_wstring for integers
as constexpr. The __cpp_lib_constexpr_string FTM value is updated
per resolution of LWG4531, "Should there be a feature-test macro
update for constexpr std::to_(w)string?".
Since pre-cxx11 copy-on-write string is not constexpr-enabled,
restricting this constexpr-ification to cxx11 ABI strings.
libstdc++-v3/ChangeLog:
* include/bits/version.def (constexpr_string): Bump to 202511.
* include/bits/version.h: Regenerate.
* include/bits/basic_string.h (std::to_string, std::to_wstring)
[__glibcxx_constexpr_string >= 202511L]: Mark as constexpr.
* testsuite/21_strings/basic_string/numeric_conversions/char/to_string_constexpr.cc:
New test.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_constexpr.cc:
New test.
* testsuite/21_strings/basic_string/cons/char/constexpr.cc: Update
__cpp_lib_constexpr_string check.
* testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: Likewise.
* testsuite/21_strings/basic_string/version.cc: Add check for value of
__cpp_lib_constexpr_string in C++26.
Co-authored-by: Tomasz Kamiński <tkaminsk@redhat.com> Reviewed-by: Jonathan Wakely <jwakely@redhat.com> Reviewed-by: Nathan Myers <ncm@cantrip.org> Signed-off-by: Tomasz Kamiński <tkaminsk@redhat.com>