Implement N4258 noexcept for std::basic_string.
authorJonathan Wakely <jwakely@redhat.com>
Fri, 11 Sep 2015 11:02:14 +0000 (12:02 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 11 Sep 2015 11:02:14 +0000 (12:02 +0100)
commit5caff414f153f50aad00f1bc0d793776676e492b
tree7f874e1b19838f08d31b01a85708c48602ae8eb8
parent997ed914e2c1ca4083affd78fd22569f5e734d08
Implement N4258 noexcept for std::basic_string.

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: r227681
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