[patch] fix libstdc++/58912

Jonathan Wakely jwakely.gcc@gmail.com
Wed Oct 30 15:16:00 GMT 2013


This isn't a regression but is tiny and removes an unnecessary
pessimisation, so I'm committing it to the 4.7 and 4.8 branches.  The
problem doesn't exist on the trunk.

Tested x86_64-linux.

2013-10-30  Chris Studholme  <cvs@cs.utoronto.ca>

        PR libstdc++/58912
        * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Remove
        unnecessary initialization of storage buffer.
-------------- next part --------------
--- a/libstdc++-v3/include/bits/shared_ptr_base.h
+++ b/libstdc++-v3/include/bits/shared_ptr_base.h
@@ -394,7 +394,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     public:
       template<typename... _Args>
 	_Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
-	: _M_impl(__a), _M_storage()
+	: _M_impl(__a)
 	{
 	  _M_impl._M_ptr = static_cast<_Tp*>(static_cast<void*>(&_M_storage));
 	  // _GLIBCXX_RESOLVE_LIB_DEFECTS


More information about the Libstdc++ mailing list