https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114633

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2024-04-08
     Ever confirmed|0                           |1

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
--- a/libstdc++-v3/include/bits/chrono_io.h
+++ b/libstdc++-v3/include/bits/chrono_io.h
@@ -3685,6 +3685,7 @@ namespace __detail
                      if (!__is_failed(__err)) [[likely]]
                        {
                          long double __val{};
+#if __cpp_lib_to_chars
                          string __str = std::move(__buf).str();
                          auto __first = __str.data();
                          auto __last = __first + __str.size();
@@ -3694,6 +3695,9 @@ namespace __detail
                          if ((bool)ec || ptr != __last) [[unlikely]]
                            __err |= ios_base::failbit;
                          else
+#else
+                         if (__buf >> __val)
+#endif
                            {
                              duration<long double> __fs(__val);
                              if constexpr (__is_floating)

Reply via email to