diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2017-02-01 11:41:48 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2017-02-01 11:41:48 +0000 |
commit | 11d10beb5762c48de90a004368df2c2863b33d7a (patch) | |
tree | aab5154423488af538040a2d8a5b37c2dcb566bb /libstdc++-v3/config | |
parent | a0deb9925478be3738a87f40902c829d867f8f79 (diff) | |
download | gcc-11d10beb5762c48de90a004368df2c2863b33d7a.zip gcc-11d10beb5762c48de90a004368df2c2863b33d7a.tar.gz gcc-11d10beb5762c48de90a004368df2c2863b33d7a.tar.bz2 |
PR libstdc++/79254 simplify exception-safety in copy assignment
PR libstdc++/79254
* config/abi/pre/gnu.ver: Remove recently added symbols.
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign): Remove.
(basic_string::operator=(const basic_string&)): Don't dispatch to
_M_copy_assign. If source object is small just deallocate, otherwise
perform new allocation before making any changes.
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign(const basic_string&, true_type)):
Remove.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Test cases where the allocators are equal or the string is small.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
From-SVN: r245085
Diffstat (limited to 'libstdc++-v3/config')
-rw-r--r-- | libstdc++-v3/config/abi/pre/gnu.ver | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 1bea4b4..268fb94 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -1955,9 +1955,6 @@ GLIBCXX_3.4.23 { _ZNSsC[12]ERKSs[jmy]RKSaIcE; _ZNSbIwSt11char_traitsIwESaIwEEC[12]ERKS2_mRKS1_; - # basic_string<C, T, A>::_M_copy_assign(const basic_string&, {true,false}_type) - _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE14_M_copy_assign*; - #ifndef HAVE_EXCEPTION_PTR_SINCE_GCC46 # std::future symbols are exported in the first version to support # std::exception_ptr |