On Wed, 1 Jul 2026 at 13:59, Richard Earnshaw (foss) <[email protected]> wrote: > > On 01/07/2026 13:33, Tomasz Kaminski wrote: > > > > > > On Wed, Jul 1, 2026 at 2:15 PM Anlai Lu <[email protected] > > <mailto:[email protected]>> wrote: > > > > Add __detail::__chrono_write which formats a chrono object into a > > stack buffer via std::format_to_n with _S_empty_fs(), then writes > > through __ostream_insert. A non-type template parameter _BufSize > > (default 128) allows per-type buffer tuning. Each _BufSize is the > > smallest power of two that accommodates the longest possible formatted > > output for that type, including error cases. All chrono operator<< > > overloads that previously used std::format, std::vformat, or > > basic_stringstream now use this helper. > > > > libstdc++-v3/ChangeLog: > > > > * include/bits/chrono_io.h (__formatter_chrono::_S_empty_fs): > > Make public. > > (__detail::__chrono_write): New function template. > > (operator<<): Use __chrono_write consistently for all chrono > > types. > > > > Signed-off-by: Anlai Lu <[email protected] <mailto:[email protected]>> > > --- > > libstdc++-v3/include/bits/chrono_io.h | 244 ++++++-------------------- > > 1 file changed, 52 insertions(+), 192 deletions(-) > > > > LGTM. Thank you for working on this. > > > > I think this is causing: > > /home/rearnsha/gnusrc/gcc-cross/misc-fixes/libstdc++-v3/src/c++20/tzdb.cc: In > st > atic member function ‘static const std::chrono::tzdb& > std::chrono::tzdb_list::_N > ode::_S_replace_head(std::shared_ptr<std::chrono::tzdb_list::_Node>, > std::shared > _ptr<std::chrono::tzdb_list::_Node>)’: > /home/rearnsha/gnusrc/gcc-cross/misc-fixes/libstdc++-v3/src/c++20/tzdb.cc:1617:22: > error: ‘struct std::chrono::tzdb_list::_Node::NumLeapSeconds’ has no member > named ‘set_locked’ > 1617 | num_leap_seconds.set_locked(new_head_ptr->db.leap_seconds.size(), > lock); > | ^~~~~~~~~~ > make[9]: *** [Makefile:575: tzdb.lo] Error 1 > > when building an arm-eabi cross with newlib.
That's a different patch (this one isn't committed yet) but I'll take care of it.
