aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2014-04-15 19:28:50 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2014-04-15 19:28:50 +0100
commited39835fdc4bca98863e512c753b2b48d59a7276 (patch)
treeef1fd5b769c772177791b4e06ca355377c3bbbd7
parent260d16c8ca780a9ddd022cc5a733fc20229f6e7b (diff)
downloadgcc-ed39835fdc4bca98863e512c753b2b48d59a7276.zip
gcc-ed39835fdc4bca98863e512c753b2b48d59a7276.tar.gz
gcc-ed39835fdc4bca98863e512c753b2b48d59a7276.tar.bz2
shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use delegating constructor.
* include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use delegating constructor. * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(nullptr_t)): Likewise From-SVN: r209428
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/bits/shared_ptr.h3
-rw-r--r--libstdc++-v3/include/bits/shared_ptr_base.h5
3 files changed, 7 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index de81ec7..5f16108 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -15,6 +15,11 @@
* include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
const to constexpr member functions.
+ * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
+ delegating constructor.
+ * include/bits/shared_ptr_base.h
+ (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
+
2014-04-14 Jonathan Wakely <jwakely@redhat.com>
* include/bits/stl_vector.h (_Vector_base::_Vector_impl,
diff --git a/libstdc++-v3/include/bits/shared_ptr.h b/libstdc++-v3/include/bits/shared_ptr.h
index 081d3bd..104c869 100644
--- a/libstdc++-v3/include/bits/shared_ptr.h
+++ b/libstdc++-v3/include/bits/shared_ptr.h
@@ -262,8 +262,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @param __p A null pointer constant.
* @post use_count() == 0 && get() == nullptr
*/
- constexpr shared_ptr(nullptr_t __p) noexcept
- : __shared_ptr<_Tp>(__p) { }
+ constexpr shared_ptr(nullptr_t __p) noexcept : shared_ptr() { }
shared_ptr& operator=(const shared_ptr&) noexcept = default;
diff --git a/libstdc++-v3/include/bits/shared_ptr_base.h b/libstdc++-v3/include/bits/shared_ptr_base.h
index 536df01..57398af 100644
--- a/libstdc++-v3/include/bits/shared_ptr_base.h
+++ b/libstdc++-v3/include/bits/shared_ptr_base.h
@@ -963,10 +963,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__shared_ptr(std::auto_ptr<_Tp1>&& __r);
#endif
- /* TODO: use delegating constructor */
- constexpr __shared_ptr(nullptr_t) noexcept
- : _M_ptr(0), _M_refcount()
- { }
+ constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { }
template<typename _Tp1>
__shared_ptr&