Fix const correctness bug in __move_assign. Found and fixed by Ion GaztanĚaga.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@139032 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/__split_buffer b/include/__split_buffer
index dbf3ce0..d5b8f0a 100644
--- a/include/__split_buffer
+++ b/include/__split_buffer
@@ -141,14 +141,14 @@
private:
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const __split_buffer& __c, true_type)
+ void __move_assign_alloc(__split_buffer& __c, true_type)
_NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
{
__alloc() = _VSTD::move(__c.__alloc());
}
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const __split_buffer& __c, false_type) _NOEXCEPT
+ void __move_assign_alloc(__split_buffer& __c, false_type) _NOEXCEPT
{}
_LIBCPP_INLINE_VISIBILITY
diff --git a/include/deque b/include/deque
index 69682a1..87cbe59 100644
--- a/include/deque
+++ b/include/deque
@@ -977,14 +977,14 @@
private:
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const __deque_base& __c, true_type)
+ void __move_assign_alloc(__deque_base& __c, true_type)
_NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
{
__alloc() = _VSTD::move(__c.__alloc());
}
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const __deque_base& __c, false_type) _NOEXCEPT
+ void __move_assign_alloc(__deque_base& __c, false_type) _NOEXCEPT
{}
_LIBCPP_INLINE_VISIBILITY
diff --git a/include/list b/include/list
index fa515e0..900e2ec 100644
--- a/include/list
+++ b/include/list
@@ -444,14 +444,14 @@
{}
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const __list_imp& __c, true_type)
+ void __move_assign_alloc(__list_imp& __c, true_type)
_NOEXCEPT_(is_nothrow_move_assignable<__node_allocator>::value)
{
__node_alloc() = _VSTD::move(__c.__node_alloc());
}
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const __list_imp& __c, false_type)
+ void __move_assign_alloc(__list_imp& __c, false_type)
_NOEXCEPT
{}
};
diff --git a/include/string b/include/string
index a1dba31..2041510 100644
--- a/include/string
+++ b/include/string
@@ -1593,7 +1593,7 @@
_LIBCPP_INLINE_VISIBILITY
void
- __move_assign_alloc(const basic_string& __str)
+ __move_assign_alloc(basic_string& __str)
_NOEXCEPT_(
!__alloc_traits::propagate_on_container_move_assignment::value ||
is_nothrow_move_assignable<allocator_type>::value)
@@ -1601,14 +1601,14 @@
__alloc_traits::propagate_on_container_move_assignment::value>());}
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const basic_string& __c, true_type)
+ void __move_assign_alloc(basic_string& __c, true_type)
_NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
{
__alloc() = _VSTD::move(__c.__alloc());
}
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const basic_string& __c, false_type)
+ void __move_assign_alloc(basic_string& __c, false_type)
_NOEXCEPT
{}
diff --git a/include/vector b/include/vector
index 43a67d8..348fe4a 100644
--- a/include/vector
+++ b/include/vector
@@ -160,7 +160,7 @@
vector()
noexcept(is_nothrow_default_constructible<allocator_type>::value);
- explicit vector(const allocator_type& = allocator_type());
+ explicit vector(const allocator_type&);
explicit vector(size_type n, const value_type& value = value_type(), const allocator_type& = allocator_type());
template <class InputIterator>
vector(InputIterator first, InputIterator last, const allocator_type& = allocator_type());
@@ -402,14 +402,14 @@
{}
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const __vector_base& __c, true_type)
+ void __move_assign_alloc(__vector_base& __c, true_type)
_NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
{
__alloc() = _VSTD::move(__c.__alloc());
}
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const __vector_base& __c, false_type)
+ void __move_assign_alloc(__vector_base& __c, false_type)
_NOEXCEPT
{}
@@ -2087,14 +2087,14 @@
{__move_assign_alloc(__c, integral_constant<bool,
__storage_traits::propagate_on_container_move_assignment::value>());}
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const vector& __c, true_type)
+ void __move_assign_alloc(vector& __c, true_type)
_NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
{
__alloc() = _VSTD::move(__c.__alloc());
}
_LIBCPP_INLINE_VISIBILITY
- void __move_assign_alloc(const vector& __c, false_type)
+ void __move_assign_alloc(vector& __c, false_type)
_NOEXCEPT
{}