]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR libstdc++/59738 (r206444 caused FAIL: 23_containers/vector/52591.cc)
authorJonathan Wakely <jwakely@redhat.com>
Thu, 9 Jan 2014 18:38:52 +0000 (18:38 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 9 Jan 2014 18:38:52 +0000 (18:38 +0000)
PR libstdc++/59738
* include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
support for non-Movable types.

From-SVN: r206480

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_vector.h

index 965b0916c6a14f41bc55c01c2923a883baa2303b..78cce64ac421b65ba3c28a05f7770b72e49748b3 100644 (file)
@@ -1,3 +1,9 @@
+2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/59738
+       * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
+       support for non-Movable types.
+
 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
 
        * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
index 3638a8c07efb9f0542f1e0bcce07b1fc4c6b9e7b..2cedd39cae8b987c03d0f06cc6ccc8135c76c391 100644 (file)
@@ -1433,7 +1433,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       void
       _M_move_assign(vector&& __x, std::true_type) noexcept
       {
-       const vector __tmp(std::move(*this), get_allocator());
+       vector __tmp(get_allocator());
+       this->_M_impl._M_swap_data(__tmp._M_impl);
        this->_M_impl._M_swap_data(__x._M_impl);
        if (_Alloc_traits::_S_propagate_on_move_assign())
          std::__alloc_on_move(_M_get_Tp_allocator(),