[Bug libstdc++/58265] [lwg/2063] std::string move assignment should be noexcept

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Sep 11 11:02:00 GMT 2015


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

--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Fri Sep 11 11:02:14 2015
New Revision: 227681

URL: https://gcc.gnu.org/viewcvs?rev=227681&root=gcc&view=rev
Log:
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.

Added:
    trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/
    trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/
    trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy_assign.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/minimal.cc
    trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move_assign.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/noexcept.cc
    trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/swap.cc
    trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/doc/html/manual/bugs.html
    trunk/libstdc++-v3/doc/xml/manual/intro.xml
    trunk/libstdc++-v3/include/bits/basic_string.h
    trunk/libstdc++-v3/include/bits/basic_string.tcc
    trunk/libstdc++-v3/include/debug/string
    trunk/libstdc++-v3/testsuite/util/testsuite_allocator.h



More information about the Gcc-bugs mailing list