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

--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Fri Jan 27 16:17:04 2017
New Revision: 244986

URL: https://gcc.gnu.org/viewcvs?rev=244986&root=gcc&view=rev
Log:
PR libstdc++/79254 fix exception-safety in std::string::operator=

        PR libstdc++/79254
        * config/abi/pre/gnu.ver: Add new symbols.
        * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
        (basic_string::_M_copy_assign): New overloaded functions to perform
        copy assignment.
        (basic_string::operator=(const basic_string&)): Dispatch to
        _M_copy_assign.
        * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
        (basic_string::_M_copy_assign(const basic_string&, true_type)):
        Define, performing rollback on exception.
        * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
        Test exception-safety guarantee.
        * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
        Likewise.
        * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
        std::swap visible.

Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/config/abi/pre/gnu.ver
    trunk/libstdc++-v3/include/bits/basic_string.h
    trunk/libstdc++-v3/include/bits/basic_string.tcc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy_assign.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc
    trunk/libstdc++-v3/testsuite/util/testsuite_allocator.h

Reply via email to