gcc/libstdc++-v3/include
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
..
backward
bits Constrain std::shared_ptr assignment and resetting 2016-08-31 17:57:20 +01:00
c
c_compatibility
c_global Enable Mathematical Special Functions for C++17 2016-08-03 16:54:13 +01:00
c_std
debug Add C++17 constexpr to debug and profile mode arrays 2016-08-23 16:54:57 +01:00
decimal
experimental Define std::not_fn for C++17 2016-08-19 16:42:34 +01:00
ext Fix missing qualification in <ext/rope> 2016-07-25 13:56:12 +01:00
parallel libstdc++/71856 Define _GLIBCXX_PARALLEL_ASSERTIONS 2016-07-13 18:22:57 +01:00
precompiled
profile Add C++17 constexpr to debug and profile mode arrays 2016-08-23 16:54:57 +01:00
std re PR libstdc++/77395 (std::is_constructible is false for type constructible via implicit conversion operator affecting std::tuple) 2016-08-30 21:46:11 +03:00
tr1 Enable Mathematical Special Functions for C++17 2016-08-03 16:54:13 +01:00
tr2
Makefile.am libstdc++/68297 avoid throw/catch in make_exception_ptr 2016-08-22 18:29:31 +01:00
Makefile.in libstdc++/68297 avoid throw/catch in make_exception_ptr 2016-08-22 18:29:31 +01:00