On Wed, 22 Mar 2023 at 19:46, Jonathan Wakely wrote: > > > On Wed, 22 Mar 2023 at 17:59, Daniel Krügler > wrote: > >> Am Mi., 22. März 2023 um 18:53 Uhr schrieb Jonathan Wakely via >> Libstdc++ : >> > >> > Tested powerpc64le-linux, pushed to trunk. >> > >> > -- >8-- >> > >> > libstdc++-v3/ChangeLog: >> > >> > * include/std/version (__cpp_lib_format): Define. >> > * testsuite/std/format/functions/format.cc: Check it. >> > --- >> > libstdc++-v3/include/std/version | 1 + >> > .../testsuite/std/format/functions/format.cc | 15 +++++++++++++++ >> > 2 files changed, 16 insertions(+) >> > >> > diff --git a/libstdc++-v3/include/std/version >> b/libstdc++-v3/include/std/version >> > index 25ebfc3e512..a19c39c6cdd 100644 >> > --- a/libstdc++-v3/include/std/version >> > +++ b/libstdc++-v3/include/std/version >> > @@ -277,6 +277,7 @@ >> > #define __cpp_lib_constexpr_utility 201811L >> > #define __cpp_lib_constexpr_vector 201907L >> > #define __cpp_lib_erase_if 202002L >> > +#define __cpp_lib_format 202106L >> >> Shouldn't the value be 202207L? (This of-course of your conforming >> completeness) >> >> > Well spotted! > > The historical values listed in SD-6 are included in a comment in : > > // 201907 Text Formatting, Integration of chrono, printf corner cases. > // 202106 std::format improvements. > // 202110 Fixing locale handling in chrono formatters, generator-like > types. > // 202207 Encodings in localized formatting of chrono, basic-format-string. > #define __cpp_lib_format 202106L > > The libstdc++ support only got as far as 202106 so far :-) > > (We actually do implement the support for generator-like types from > P2418R2 and the std::basic_format_string change from P2508R1, but can't > bump the value to 202207 until the other changes are supported too.) > > I might still find time to finish P2372R3 and P2419R2 for GCC 13, but no > promises. > Hmm, actually maybe I already did all of P2372R3 as part of the formatting, so it should be 202110. And for P2419R2 we could say that the implementation-defined set of locales is empty ... but that's pretty poor QoI. There are also some more changes in C++23 (P2572 and P2675) which aren't done yet.