]> git.ipfire.org Git - thirdparty/gcc.git/commit
Implement N4258 noexcept for std::basic_string.
authorJonathan Wakely <jwakely@redhat.com>
Tue, 12 Jul 2016 10:56:11 +0000 (11:56 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 12 Jul 2016 10:56:11 +0000 (11:56 +0100)
commit397c5bf9204cc87a406dc83301e8f8790ef269b9
treeecc19eb7533bc7b6ac156d1b47972aa6063b7fbd
parent1a9a2c70448e82ca4b7cfe3dafd585ca6d89daf3
Implement N4258 noexcept for std::basic_string.

Backport from mainline
2015-10-02  Jonathan Wakely  <jwakely@redhat.com>

* testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
explicit instantiation with check for new ABI.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise. Use wchar_t as char_type.

Backport from mainline
2015-09-11  Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/58265
* doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions.
* doc/html/manual/bugs.html: Regenerate.
* include/bits/basic_string.h (basic_string): Implement N4258. Add
correct exception-specifications and propagate allocators correctly.
* include/bits/basic_string.tcc (basic_string::swap): Propagate
allocators correctly.
* include/debug/string (__gnu_debug::basic_string): Add correct
exceptions-specifications and allcoator-extended constructors.
* testsuite/21_strings/basic_string/allocator/char/copy.cc: New.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: New.
* testsuite/21_strings/basic_string/allocator/char/move.cc: New.
* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New.
* testsuite/21_strings/basic_string/allocator/char/swap.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New.
* testsuite/util/testsuite_allocator.h (tracker_allocator): Define
defaulted assignment operators.

From-SVN: r238241
21 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/doc/html/manual/bugs.html
libstdc++-v3/doc/xml/manual/intro.xml
libstdc++-v3/include/bits/basic_string.h
libstdc++-v3/include/bits/basic_string.tcc
libstdc++-v3/include/debug/string
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy_assign.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/minimal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move_assign.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/noexcept.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/swap.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc [new file with mode: 0644]
libstdc++-v3/testsuite/util/testsuite_allocator.h