[Bug libstdc++/59872] [4.9 Regression] Cannot move std::map with move-only mapped_type

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jan 23 17:18:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59872

--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Thu Jan 23 17:17:04 2014
New Revision: 206994

URL: http://gcc.gnu.org/viewcvs?rev=206994&root=gcc&view=rev
Log:
    PR libstdc++/59872
    * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
    * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
    Likewise.
    * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
    Likewise.
    * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
    * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
    functions to perform moving or copying of elements from rvalue tree.
    (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
    (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
    * testsuite/23_containers/map/59872.cc: New.
    * testsuite/23_containers/map/56613.cc: Remove duplicate include.

Added:
    trunk/libstdc++-v3/testsuite/23_containers/map/59872.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/stl_map.h
    trunk/libstdc++-v3/include/bits/stl_multimap.h
    trunk/libstdc++-v3/include/bits/stl_multiset.h
    trunk/libstdc++-v3/include/bits/stl_set.h
    trunk/libstdc++-v3/include/bits/stl_tree.h
    trunk/libstdc++-v3/testsuite/23_containers/map/56613.cc



More information about the Gcc-bugs mailing list