libstdc++: mark integer std::to_(w)string constexpr

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>
8 files changed