From d72c3f0a36c703f22962bb40e59c529d94153e58 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Dumont?= Date: Wed, 26 Oct 2016 20:52:21 +0000 Subject: [PATCH] stl_map.h (map()): Make default. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 2016-10-26 François Dumont * include/bits/stl_map.h (map()): Make default. * include/bits/stl_multimap.h (multimap()): Likewise. * include/bits/stl_multiset.h (multiset()): Likewise. * include/bits/stl_set.h (set()): Likewise. * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept. (_Rb_tree()): Make default. From-SVN: r241601 --- libstdc++-v3/ChangeLog | 9 +++++++++ libstdc++-v3/include/bits/stl_map.h | 10 +++++----- libstdc++-v3/include/bits/stl_multimap.h | 10 +++++----- libstdc++-v3/include/bits/stl_multiset.h | 10 +++++----- libstdc++-v3/include/bits/stl_set.h | 10 +++++----- libstdc++-v3/include/bits/stl_tree.h | 13 ++++++++++--- 6 files changed, 39 insertions(+), 23 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index de98de1..d3a07b6 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2016-10-26 François Dumont + + * include/bits/stl_map.h (map()): Make default. + * include/bits/stl_multimap.h (multimap()): Likewise. + * include/bits/stl_multiset.h (multiset()): Likewise. + * include/bits/stl_set.h (set()): Likewise. + * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept. + (_Rb_tree()): Make default. + 2016-10-26 Bernd Edlinger PR libstdc++/78110 diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h index e5b2a1b..dea7d5b 100644 --- a/libstdc++-v3/include/bits/stl_map.h +++ b/libstdc++-v3/include/bits/stl_map.h @@ -167,11 +167,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER /** * @brief Default constructor creates no elements. */ - map() - _GLIBCXX_NOEXCEPT_IF( - is_nothrow_default_constructible::value - && is_nothrow_default_constructible::value) - : _M_t() { } +#if __cplusplus < 201103L + map() : _M_t() { } +#else + map() = default; +#endif /** * @brief Creates a %map with no elements. diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h index d240427..7e86b76 100644 --- a/libstdc++-v3/include/bits/stl_multimap.h +++ b/libstdc++-v3/include/bits/stl_multimap.h @@ -164,11 +164,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER /** * @brief Default constructor creates no elements. */ - multimap() - _GLIBCXX_NOEXCEPT_IF( - is_nothrow_default_constructible::value - && is_nothrow_default_constructible::value) - : _M_t() { } +#if __cplusplus < 201103L + multimap() : _M_t() { } +#else + multimap() = default; +#endif /** * @brief Creates a %multimap with no elements. diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h index cc068a9..7fe2fbd 100644 --- a/libstdc++-v3/include/bits/stl_multiset.h +++ b/libstdc++-v3/include/bits/stl_multiset.h @@ -144,11 +144,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER /** * @brief Default constructor creates no elements. */ - multiset() - _GLIBCXX_NOEXCEPT_IF( - is_nothrow_default_constructible::value - && is_nothrow_default_constructible::value) - : _M_t() { } +#if __cplusplus < 201103L + multiset() : _M_t() { } +#else + multiset() = default; +#endif /** * @brief Creates a %multiset with no elements. diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h index 3938351..5ed9672 100644 --- a/libstdc++-v3/include/bits/stl_set.h +++ b/libstdc++-v3/include/bits/stl_set.h @@ -147,11 +147,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER /** * @brief Default constructor creates no elements. */ - set() - _GLIBCXX_NOEXCEPT_IF( - is_nothrow_default_constructible::value - && is_nothrow_default_constructible::value) - : _M_t() { } +#if __cplusplus < 201103L + set() : _M_t() { } +#else + set() = default; +#endif /** * @brief Creates a %set with no elements. diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h index 32da609..2c67ad9 100644 --- a/libstdc++-v3/include/bits/stl_tree.h +++ b/libstdc++-v3/include/bits/stl_tree.h @@ -602,10 +602,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct _Rb_tree_impl : public _Node_allocator { _Key_compare _M_key_compare; - _Rb_tree_node_base _M_header; - size_type _M_node_count; // Keeps track of size of tree. + _Rb_tree_node_base _M_header; + size_type _M_node_count; // Keeps track of size of tree. _Rb_tree_impl() + _GLIBCXX_NOEXCEPT_IF( + is_nothrow_default_constructible<_Node_allocator>::value + && is_nothrow_default_constructible<_Key_compare>::value) : _Node_allocator(), _M_key_compare(), _M_header(), _M_node_count(0) { _M_initialize(); } @@ -639,7 +642,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION this->_M_header._M_parent = 0; this->_M_header._M_left = &this->_M_header; this->_M_header._M_right = &this->_M_header; - } + } }; _Rb_tree_impl<_Compare> _M_impl; @@ -831,7 +834,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION public: // allocation/deallocation +#if __cplusplus < 201103L _Rb_tree() { } +#else + _Rb_tree() = default; +#endif _Rb_tree(const _Compare& __comp, const allocator_type& __a = allocator_type()) -- 2.7.4