gcc/libstdc++-v3/testsuite/20_util/shared_ptr/cons
Jonathan Wakely 7663cae227 Constrain std::shared_ptr assignment and resetting
* include/bits/shared_ptr.h (_Assignable): New alias template.
	(shared_ptr::operator=(const shared_ptr<_Tp1>&))
	(shared_ptr::operator=(shared_ptr<_Tp1>&&))
	(shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
	_Assignable.
	* include/bits/shared_ptr_base.h (_Assignable): New alias template.
	(__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
	(__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
	(__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
	_Assignable.
	(__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
	(__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
	_Convertible.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
	match on any line.
	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
	* testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
	expected errors. Remove unnecessary code.
	* testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.

From-SVN: r239898
2016-08-31 17:57:20 +01:00
..
39405.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
43820_neg.cc Constrain std::shared_ptr assignment and resetting 2016-08-31 17:57:20 +01:00
46910.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
51365.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
52924.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
55123.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
58659.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
58839.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
61036.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
alias.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
alloc_min.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
alloc.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
auto_ptr_neg.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
auto_ptr.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
constexpr.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
copy.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
default.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
move.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
noexcept_move_construct.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
nullptr.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
pointer.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
unique_ptr_array.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
unique_ptr_deleter_ref_1.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
unique_ptr_deleter_ref_2.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
unique_ptr_deleter.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
unique_ptr_neg.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
unique_ptr.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
void_neg.cc Constrain std::shared_ptr assignment and resetting 2016-08-31 17:57:20 +01:00
weak_ptr_expired.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
weak_ptr.cc Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00