On Mon, 28 Apr 2025, 08:05 Tomasz Kamiński, <tkami...@redhat.com> wrote:

> The r16-142-g01e5ef3e8b9128 chagned return type of _Str_sink::view()
> to basic_string_view<_CharT>. The mutable access is provided by _M_span
> function, that is now used for mingw path.
>

I can test that later for mingw-w64, or the reporter will probably check it
soon enough after it's pushed.

OK for trunk.



> libstdc++-v3/ChangeLog:
>
>         * include/std/ostream (vprint_unicode) [_WIN32 && !__CYGWIN__]:
> Call
>         _Str_sink::_M_span instead of view.
>         * include/std/print (vprint_unicode) [_WIN32 && !__CYGWIN__]: Call
>         _Str_sink::_M_span instead of view.
> ---
> I do not have a way to test that configuration, but the fix seems
> obvious in text. I have grepped, and the other file that uses _Str_sink
> is bits/chrono_io.h.
> OK for trunk?
>
>  libstdc++-v3/include/std/ostream | 2 +-
>  libstdc++-v3/include/std/print   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libstdc++-v3/include/std/ostream
> b/libstdc++-v3/include/std/ostream
> index 644e568e882..3a0a0d35df1 100644
> --- a/libstdc++-v3/include/std/ostream
> +++ b/libstdc++-v3/include/std/ostream
> @@ -193,7 +193,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        {
>         __format::_Str_sink<char> __buf;
>         std::vformat_to(__buf.out(), __os.getloc(), __fmt, __args);
> -       auto __out = __buf.view();
> +       auto __out = __buf._M_span();
>
>         void* __open_terminal(streambuf*);
>         error_code __write_to_terminal(void*, span<char>);
> diff --git a/libstdc++-v3/include/std/print
> b/libstdc++-v3/include/std/print
> index ea1aaac4389..92dbe118fc3 100644
> --- a/libstdc++-v3/include/std/print
> +++ b/libstdc++-v3/include/std/print
> @@ -73,7 +73,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>  #else
>      __format::_Str_sink<char> __buf;
>      std::vformat_to(__buf.out(), __fmt, __args);
> -    auto __out = __buf.view();
> +    auto __out = __buf._M_span();
>
>      void* __open_terminal(FILE*);
>      error_code __write_to_terminal(void*, span<char>);
> --
> 2.49.0
>
>

Reply via email to