diff --git a/libcxx/include/map b/libcxx/include/map index 4dfce70e50e7f..4bc7e2022f04c 100644 --- a/libcxx/include/map +++ b/libcxx/include/map @@ -978,11 +978,11 @@ public: # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI map(map&& __m) noexcept(is_nothrow_move_constructible<__base>::value) = default; + _LIBCPP_HIDE_FROM_ABI map(map&& __m) = default; _LIBCPP_HIDE_FROM_ABI map(map&& __m, const allocator_type& __a); - _LIBCPP_HIDE_FROM_ABI map& operator=(map&& __m) noexcept(is_nothrow_move_assignable<__base>::value) = default; + _LIBCPP_HIDE_FROM_ABI map& operator=(map&& __m) = default; _LIBCPP_HIDE_FROM_ABI map(initializer_list __il, const key_compare& __comp = key_compare()) : __tree_(__vc(__comp)) { @@ -1646,12 +1646,11 @@ public: # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI multimap(multimap&& __m) noexcept(is_nothrow_move_constructible<__base>::value) = default; + _LIBCPP_HIDE_FROM_ABI multimap(multimap&& __m) = default; _LIBCPP_HIDE_FROM_ABI multimap(multimap&& __m, const allocator_type& __a); - _LIBCPP_HIDE_FROM_ABI multimap& - operator=(multimap&& __m) noexcept(is_nothrow_move_assignable<__base>::value) = default; + _LIBCPP_HIDE_FROM_ABI multimap& operator=(multimap&& __m) = default; _LIBCPP_HIDE_FROM_ABI multimap(initializer_list __il, const key_compare& __comp = key_compare()) : __tree_(__vc(__comp)) { diff --git a/libcxx/include/set b/libcxx/include/set index 05c1939dbbabf..4417d2811eb23 100644 --- a/libcxx/include/set +++ b/libcxx/include/set @@ -667,7 +667,7 @@ public: _LIBCPP_HIDE_FROM_ABI set& operator=(const set& __s) = default; # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI set(set&& __s) noexcept(is_nothrow_move_constructible<__base>::value) = default; + _LIBCPP_HIDE_FROM_ABI set(set&& __s) = default; # endif // _LIBCPP_CXX03_LANG _LIBCPP_HIDE_FROM_ABI explicit set(const allocator_type& __a) : __tree_(__a) {} @@ -699,10 +699,7 @@ public: return *this; } - _LIBCPP_HIDE_FROM_ABI set& operator=(set&& __s) noexcept(is_nothrow_move_assignable<__base>::value) { - __tree_ = std::move(__s.__tree_); - return *this; - } + _LIBCPP_HIDE_FROM_ABI set& operator=(set&& __s) = default; # endif // _LIBCPP_CXX03_LANG _LIBCPP_HIDE_FROM_ABI ~set() { static_assert(sizeof(std::__diagnose_non_const_comparator<_Key, _Compare>()), ""); } @@ -1126,7 +1123,7 @@ public: _LIBCPP_HIDE_FROM_ABI multiset& operator=(const multiset& __s) = default; # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI multiset(multiset&& __s) noexcept(is_nothrow_move_constructible<__base>::value) = default; + _LIBCPP_HIDE_FROM_ABI multiset(multiset&& __s) = default; _LIBCPP_HIDE_FROM_ABI multiset(multiset&& __s, const allocator_type& __a); # endif // _LIBCPP_CXX03_LANG @@ -1158,10 +1155,7 @@ public: return *this; } - _LIBCPP_HIDE_FROM_ABI multiset& operator=(multiset&& __s) _NOEXCEPT_(is_nothrow_move_assignable<__base>::value) { - __tree_ = std::move(__s.__tree_); - return *this; - } + _LIBCPP_HIDE_FROM_ABI multiset& operator=(multiset&& __s) = default; # endif // _LIBCPP_CXX03_LANG _LIBCPP_HIDE_FROM_ABI ~multiset() { diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map index 104dc56a89fea..a934953674967 100644 --- a/libcxx/include/unordered_map +++ b/libcxx/include/unordered_map @@ -1049,8 +1049,7 @@ public: _LIBCPP_HIDE_FROM_ABI unordered_map(const unordered_map& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_map(const unordered_map& __u, const allocator_type& __a); # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI unordered_map(unordered_map&& __u) - _NOEXCEPT_(is_nothrow_move_constructible<__table>::value) = default; + _LIBCPP_HIDE_FROM_ABI unordered_map(unordered_map&& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_map(unordered_map&& __u, const allocator_type& __a); _LIBCPP_HIDE_FROM_ABI unordered_map(initializer_list __il); _LIBCPP_HIDE_FROM_ABI @@ -1102,8 +1101,7 @@ public: _LIBCPP_HIDE_FROM_ABI unordered_map& operator=(const unordered_map& __u) = default; # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI unordered_map& operator=(unordered_map&& __u) - _NOEXCEPT_(is_nothrow_move_assignable<__table>::value) = default; + _LIBCPP_HIDE_FROM_ABI unordered_map& operator=(unordered_map&& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_map& operator=(initializer_list __il); # endif // _LIBCPP_CXX03_LANG @@ -1823,8 +1821,7 @@ public: _LIBCPP_HIDE_FROM_ABI unordered_multimap(const unordered_multimap& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_multimap(const unordered_multimap& __u, const allocator_type& __a); # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI unordered_multimap(unordered_multimap&& __u) - _NOEXCEPT_(is_nothrow_move_constructible<__table>::value) = default; + _LIBCPP_HIDE_FROM_ABI unordered_multimap(unordered_multimap&& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_multimap(unordered_multimap&& __u, const allocator_type& __a); _LIBCPP_HIDE_FROM_ABI unordered_multimap(initializer_list __il); _LIBCPP_HIDE_FROM_ABI unordered_multimap( @@ -1876,8 +1873,7 @@ public: _LIBCPP_HIDE_FROM_ABI unordered_multimap& operator=(const unordered_multimap& __u) = default; # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI unordered_multimap& operator=(unordered_multimap&& __u) - _NOEXCEPT_(is_nothrow_move_assignable<__table>::value) = default; + _LIBCPP_HIDE_FROM_ABI unordered_multimap& operator=(unordered_multimap&& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_multimap& operator=(initializer_list __il); # endif // _LIBCPP_CXX03_LANG diff --git a/libcxx/include/unordered_set b/libcxx/include/unordered_set index 09bd81a22eae5..4bc9c1afa2639 100644 --- a/libcxx/include/unordered_set +++ b/libcxx/include/unordered_set @@ -706,7 +706,7 @@ public: _LIBCPP_HIDE_FROM_ABI unordered_set(const unordered_set& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_set(const unordered_set& __u, const allocator_type& __a); # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI unordered_set(unordered_set&& __u) _NOEXCEPT_(is_nothrow_move_constructible<__table>::value); + _LIBCPP_HIDE_FROM_ABI unordered_set(unordered_set&& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_set(unordered_set&& __u, const allocator_type& __a); _LIBCPP_HIDE_FROM_ABI unordered_set(initializer_list __il); _LIBCPP_HIDE_FROM_ABI @@ -735,8 +735,7 @@ public: _LIBCPP_HIDE_FROM_ABI unordered_set& operator=(const unordered_set& __u) = default; # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI unordered_set& operator=(unordered_set&& __u) - _NOEXCEPT_(is_nothrow_move_assignable<__table>::value) = default; + _LIBCPP_HIDE_FROM_ABI unordered_set& operator=(unordered_set&& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_set& operator=(initializer_list __il); # endif // _LIBCPP_CXX03_LANG @@ -1076,11 +1075,6 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(const unordered_set& # ifndef _LIBCPP_CXX03_LANG -template -inline unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(unordered_set&& __u) - _NOEXCEPT_(is_nothrow_move_constructible<__table>::value) - : __table_(std::move(__u.__table_)) {} - template unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(unordered_set&& __u, const allocator_type& __a) : __table_(std::move(__u.__table_), __a) { @@ -1294,8 +1288,7 @@ public: _LIBCPP_HIDE_FROM_ABI unordered_multiset(const unordered_multiset& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_multiset(const unordered_multiset& __u, const allocator_type& __a); # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI unordered_multiset(unordered_multiset&& __u) - _NOEXCEPT_(is_nothrow_move_constructible<__table>::value); + _LIBCPP_HIDE_FROM_ABI unordered_multiset(unordered_multiset&& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_multiset(unordered_multiset&& __u, const allocator_type& __a); _LIBCPP_HIDE_FROM_ABI unordered_multiset(initializer_list __il); _LIBCPP_HIDE_FROM_ABI unordered_multiset( @@ -1324,8 +1317,7 @@ public: _LIBCPP_HIDE_FROM_ABI unordered_multiset& operator=(const unordered_multiset& __u) = default; # ifndef _LIBCPP_CXX03_LANG - _LIBCPP_HIDE_FROM_ABI unordered_multiset& operator=(unordered_multiset&& __u) - _NOEXCEPT_(is_nothrow_move_assignable<__table>::value) = default; + _LIBCPP_HIDE_FROM_ABI unordered_multiset& operator=(unordered_multiset&& __u) = default; _LIBCPP_HIDE_FROM_ABI unordered_multiset& operator=(initializer_list __il); # endif // _LIBCPP_CXX03_LANG @@ -1675,11 +1667,6 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset( # ifndef _LIBCPP_CXX03_LANG -template -inline unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(unordered_multiset&& __u) - _NOEXCEPT_(is_nothrow_move_constructible<__table>::value) - : __table_(std::move(__u.__table_)) {} - template unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset( unordered_multiset&& __u, const allocator_type& __a)