https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115668
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Oops, the diff above is against an incomplete fix I already had in my git index, this is the proper fix: --- a/libstdc++-v3/include/bits/chrono_io.h +++ b/libstdc++-v3/include/bits/chrono_io.h @@ -1696,7 +1696,10 @@ namespace __format format(const chrono::duration<_Rep, _Period>& __d, basic_format_context<_Out, _CharT>& __fc) const { - return _M_f._M_format(chrono::abs(__d), __fc, __d < __d.zero()); + if (__d < __d.zero()) + return _M_f._M_format(-__d, __fc, true); + else + return _M_f._M_format(__d, __fc, false); } private: