[Bug libstdc++/81338] stringstream remains empty after being moved into multiple times

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Sep 4 16:42:00 GMT 2017


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

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Mon Sep  4 16:41:25 2017
New Revision: 251669

URL: https://gcc.gnu.org/viewcvs?rev=251669&root=gcc&view=rev
Log:
PR libstdc++/81338 correctly manage string capacity

Backport from mainline
2017-07-10  Jonathan Wakely  <jwakely@redhat.com>

        PR libstdc++/81338
        * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
        Declare basic_stringbuf to be a friend.
        * include/bits/sstream.tcc (basic_stringbuf::overflow)
        [_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating.
        * include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string
        length to buffer length.
        * testsuite/27_io/basic_stringstream/assign/81338.cc: New.

Added:
   
branches/gcc-5-branch/libstdc++-v3/testsuite/27_io/basic_stringstream/assign/81338.cc
Modified:
    branches/gcc-5-branch/libstdc++-v3/ChangeLog
    branches/gcc-5-branch/libstdc++-v3/include/bits/basic_string.h
    branches/gcc-5-branch/libstdc++-v3/include/bits/sstream.tcc
    branches/gcc-5-branch/libstdc++-v3/include/std/sstream


More information about the Gcc-bugs mailing list