re PR libstdc++/58839 (dereferencing void* in shared_ptr(unique_ptr&& u) constructor)
authorJonathan Wakely <jwakely.gcc@gmail.com>
Tue, 29 Oct 2013 21:33:29 +0000 (21:33 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 29 Oct 2013 21:33:29 +0000 (21:33 +0000)
commitc8c0f5577d17a5d3a21d56c2745baa99cecac609
tree0a91ae3bd7a3a6ab1173d9fd2aef6e767e51e482
parentda2e699194f99f7e731ead5d679338b0ad832111
re PR libstdc++/58839 (dereferencing void* in shared_ptr(unique_ptr&& u) constructor)

PR libstdc++/58839
* include/bits/shared_ptr_base.h
(__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Only use addressof
when unique_ptr<U,D>::pointer is not a built-in pointer type.
* testsuite/20_util/shared_ptr/cons/58839.cc: New.
* testsuite/20_util/enable_shared_from_this/members/assign.cc: New.
* testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: New.

From-SVN: r204184
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/shared_ptr_base.h
libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/assign.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc [new file with mode: 0644]