PR libstdc++/58659
commitea1800c63c53b6e26bf8ed37ce0e445a9ef7ee86
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 8 Oct 2013 12:33:37 +0000 (8 12:33 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 8 Oct 2013 12:33:37 +0000 (8 12:33 +0000)
tree9ae99d30df85db39801dab11898c312ec74fccfe
parent4e57e76d5c759ae66438c3d7003543c2d563aad1
PR libstdc++/58659
* include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
Delegate to constructor taking allocator.
(__shared_count::_S_create_from_up): Inline into ...
(__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
std::conditional instead of constrained overloads. Allocate memory
using the allocator type that will be used for deallocation.
* testsuite/20_util/shared_ptr/cons/58659.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203274 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/shared_ptr_base.h
libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
libstdc++-v3/testsuite/20_util/shared_ptr/cons/58659.cc [new file with mode: 0644]