]> git.ipfire.org Git - thirdparty/gcc.git/commit
Only set std::enable_shared_from_this member once.
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Aug 2015 21:27:00 +0000 (21:27 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Aug 2015 21:27:00 +0000 (21:27 +0000)
commit2cf12429f7aafa50c019e77c31da588ecf09de4e
treee4feb4c92083ee17de6031c8d6d5b2b72e0a6265
parent3725b688f96e5afdb077e6181d0b4043fd86cdf0
Only set std::enable_shared_from_this member once.

* include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
nullptr.
* include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
if ownership is already shared with a shared_ptr object.
(__enable_shared_from_this_helper): Use nullptr.
* testsuite/20_util/enable_shared_from_this/members/const.cc: New.
* testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
* testsuite/20_util/enable_shared_from_this/requirements/
explicit_instantiation.cc: Instantiate with const and incomplete types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227232 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/shared_ptr.h
libstdc++-v3/include/bits/shared_ptr_base.h
libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/const.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc