libstdc++: Bump __cpp_lib_format value for std::runtime_format

We already supported this feature, but couldn't set the feature test
macro accordingly because we were missing support for older features.
Now that we support all the older <format> changes, we can set this to
the correct value.

libstdc++-v3/ChangeLog:

	* include/bits/version.def (format): Update value for C++26.
	* include/bits/version.h: Regenerate.
	* include/std/format (runtime_format, wruntime_format): Check
	__cpp_lib_format instead of __cplusplus.
	* testsuite/std/format/functions/format.cc: Update expected
	value of macro for C++26 mode.
This commit is contained in:
Jonathan Wakely 2024-07-16 10:22:40 +01:00 committed by Jonathan Wakely
parent 08782a5d92
commit 96f789d25f
No known key found for this signature in database
4 changed files with 6 additions and 6 deletions

View File

@ -1171,7 +1171,7 @@ ftms = {
// 202306 P2637R3 Member visit
// 202311 P2918R2 Runtime format strings II
values = {
v = 202306;
v = 202311;
cxxmin = 26;
hosted = yes;
};

View File

@ -1310,9 +1310,9 @@
#if !defined(__cpp_lib_format)
# if (__cplusplus > 202302L) && _GLIBCXX_HOSTED
# define __glibcxx_format 202306L
# define __glibcxx_format 202311L
# if defined(__glibcxx_want_all) || defined(__glibcxx_want_format)
# define __cpp_lib_format 202306L
# define __cpp_lib_format 202311L
# endif
# elif (__cplusplus >= 202002L) && _GLIBCXX_HOSTED
# define __glibcxx_format 202304L

View File

@ -155,7 +155,7 @@ namespace __format
= basic_format_string<wchar_t, type_identity_t<_Args>...>;
#endif
#if __cplusplus > 202302L
#if __cpp_lib_format >= 202311L // >= C++26
[[__gnu__::__always_inline__]]
inline __format::_Runtime_format_string<char>
runtime_format(string_view __fmt) noexcept

View File

@ -8,7 +8,7 @@
# error "Feature test macro for std::format is missing in <format>"
#elif __cpp_lib_format < 202110L
# error "Feature test macro for std::format has wrong value in <format>"
#elif __cplusplus > 202302L && __cpp_lib_format < 202306L
#elif __cplusplus > 202302L && __cpp_lib_format < 202311L
# error "Feature test macro for std::format has wrong value in <format>"
#endif
@ -24,7 +24,7 @@
# error "Feature test macro for std::format is missing in <version>"
#elif __cpp_lib_format < 202110L
# error "Feature test macro for std::format has wrong value in <version>"
#elif __cplusplus > 202302L && __cpp_lib_format < 202306L
#elif __cplusplus > 202302L && __cpp_lib_format < 202311L
# error "Feature test macro for std::format has wrong value in <version>"
#endif