This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Possible bug in shared_ptr(unique_ptr) constructor?


On Mon, Oct 07, 2013 at 05:09:19PM +0100, Jonathan Wakely wrote:
> > Yes, I think so - please report it to Bugzilla and CC me, I'll analyse
> > it properly and deal with it asap.

Sorry for the delay.  Bug 58659 filed and you CCed.

> And here's a suggested patch to fix it:

I hacked in the patch to my installed toolchain headers and both my
minimal test case and real program worked as expected.  I'll do a full
toolchain rebuild now with the patch.  Thanks!

BTW, I noticed that when it's created from unique_ptr, shared_ptr uses
_Sp_counted_deleter even in the cases where the deleter is the
std::default_delete<T>.  Since _M_del is just a normal member of
_Sp_counted_deleter (no empty base optimization, etc.), does this mean
that a shared_ptr made from a unique_ptr uses a slightly larger than
necessary count object?  Is it worth trying to use _Sp_counted_ptr in
that case?

(I feel greedy for even asking.)

-- 
Brad Spencer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]