Implement 2801, Default-constructibility of unique_ptr.
commit62f4f6aa1bbe26b3c6d2120ec8abdfbc9a05f9aa
authorville <ville@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jan 2017 13:21:02 +0000 (4 13:21 +0000)
committerville <ville@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jan 2017 13:21:02 +0000 (4 13:21 +0000)
tree9e9d6af6cbb8ab9fc65c7687ce8d997188d9fddb
parent6d191b11018a4346cdf17764a10d35e0515240b1
Implement 2801, Default-constructibility of unique_ptr.
* include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
(unique_ptr::_DeleterConstraint): Likewise.
(unique_ptr()): Constrain.
(unique_ptr(pointer)): Likewise.
(unique_ptr(nullptr_t)): Likewise.
(unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
(unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
(unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
(unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/default.cc: New.
* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244054 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/unique_ptr.h
libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc
libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc
libstdc++-v3/testsuite/20_util/unique_ptr/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc