From dbba6f8a2bcc4ddbbdc92d0a9344922806cda7b3 Mon Sep 17 00:00:00 2001 From: redi Date: Wed, 16 Jan 2013 23:56:00 +0000 Subject: PR libstdc++/55043 (again) * include/bits/alloc_traits.h (allocator_traits::construct): Disable unless construction would be well-formed. (__allow_copy_cons, __check_copy_constructible): Define. * include/bits/unordered_map.h (__check_copy_constructible): Use as base class so copy constructor will be deleted if appropriate. (is_copy_constructible): Remove specialization. * include/bits/unordered_set.h: Likewise. * include/debug/unordered_map.h: Undo previous commit. Default copy and move constructors. * include/debug/unordered_set.h: Likewise. * include/profile/unordered_map.h: Undo previous commit. * include/profile/unordered_set.h: Likewise. * testsuite/23_containers/unordered_map/55043.cc: Fix test. * testsuite/23_containers/unordered_multimap/55043.cc: Likewise. * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. * testsuite/23_containers/unordered_set/55043.cc: Likewise. * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL, cannot support incomplete types. * testsuite/23_containers/unordered_multimap/requirements/53339.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195253 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/include/debug/unordered_set | 33 ++++---------------------------- 1 file changed, 4 insertions(+), 29 deletions(-) (limited to 'libstdc++-v3/include/debug/unordered_set') diff --git a/libstdc++-v3/include/debug/unordered_set b/libstdc++-v3/include/debug/unordered_set index 895c9439f6e..2fe71e4bb07 100644 --- a/libstdc++-v3/include/debug/unordered_set +++ b/libstdc++-v3/include/debug/unordered_set @@ -96,14 +96,12 @@ namespace __debug __gnu_debug::__base(__last), __n, __hf, __eql, __a) { } - unordered_set(const unordered_set& __x) - : _Base(__x) { } + unordered_set(const unordered_set& __x) = default; unordered_set(const _Base& __x) : _Base(__x) { } - unordered_set(unordered_set&& __x) - : _Base(std::move(__x)) { } + unordered_set(unordered_set&& __x) = default; unordered_set(initializer_list __l, size_type __n = 0, @@ -542,14 +540,12 @@ namespace __debug __gnu_debug::__base(__last), __n, __hf, __eql, __a) { } - unordered_multiset(const unordered_multiset& __x) - : _Base(__x) { } + unordered_multiset(const unordered_multiset& __x) = default; unordered_multiset(const _Base& __x) : _Base(__x) { } - unordered_multiset(unordered_multiset&& __x) - : _Base(std::move(__x)) { } + unordered_multiset(unordered_multiset&& __x) = default; unordered_multiset(initializer_list __l, size_type __n = 0, @@ -920,27 +916,6 @@ namespace __debug { return !(__x == __y); } } // namespace __debug - -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template - struct - is_copy_constructible<__debug::unordered_set<_Key, _Hash, _Pred, _Alloc>> - : is_copy_constructible< _GLIBCXX_STD_C::unordered_set<_Key, - _Hash, _Pred, - _Alloc> > - { }; - - template - struct - is_copy_constructible<__debug::unordered_multiset<_Key, _Hash, _Pred, - _Alloc>> - : is_copy_constructible< _GLIBCXX_STD_C::unordered_multiset<_Key, - _Hash, _Pred, - _Alloc> > - { }; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 -- cgit v1.2.3