https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81338
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- Author: redi Date: Mon Sep 4 12:24:33 2017 New Revision: 251652 URL: https://gcc.gnu.org/viewcvs?rev=251652&root=gcc&view=rev Log: PR libstdc++/81338 correctly manage string capacity Backport from mainline 2017-07-10 Jonathan Wakely <jwak...@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-7-branch/libstdc++-v3/testsuite/27_io/basic_stringstream/assign/81338.cc Modified: branches/gcc-7-branch/libstdc++-v3/ChangeLog branches/gcc-7-branch/libstdc++-v3/include/bits/basic_string.h branches/gcc-7-branch/libstdc++-v3/include/bits/sstream.tcc branches/gcc-7-branch/libstdc++-v3/include/std/sstream