gcc/libstdc++-v3/testsuite
Ville Voutilainen f334456903 Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118) and N4366 LWG 2228...
2015-08-08  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
	and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
	templated assignment
	* include/bits/unique_ptr.h
	(__remove_cv, __is_derived_Tp): Remove.
	(default_delete::default_delete(const default_delete<_Up[]>)):
	Constrain with array convertibility.
	(default_delete::operator(_Up*)): Turn into a template,
	constrain with array convertibility.
	(__safe_conversion_up): New, single object version.
	(unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
	convertibility.
	(unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
	is_assignable as a constraint.
	(__safe_conversion_up): Array version, renamed from __safe_conversion,
	updated to implement N4089.
	(__safe_conversion_raw): New.
	(unique_ptr(_Up)): Turn into a template, constrain with array
	convertibility.
	(unique_ptr(_Up,
        typename conditional<is_reference<deleter_type>::value,
        deleter_type, const deleter_type&>::type)): Likewise.
	(unique_ptr(_Up, typename
 	remove_reference<deleter_type>::type&&)): Likewise.
	(unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
	(operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
	is_assignable as a constraint (array version).
	(reset(_Up)): Turn into a template, constrain with array
	convertibility.
	(reset(nullptr_t)): New.
	* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
	* testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
	* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
	* testsuite/20_util/unique_ptr/dr2228.cc: New.
	* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.

From-SVN: r226733
2015-08-08 14:07:34 +03:00
..
17_intro [Patch Testsuite] Make all_attributes.cc in to (almost_)all_attributes.cc for ARM. 2015-03-20 17:20:12 +00:00
18_support exception (uncaught_exceptions): Add comment. 2015-04-28 13:07:40 +01:00
19_diagnostics std_c++0x_neg.cc: Add -std=c++98. 2015-05-09 00:50:30 -04:00
20_util Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118) and N4366 LWG 2228... 2015-08-08 14:07:34 +03:00
21_strings re PR libstdc++/64657 (Support iterators with overloaded operator-comma) 2015-04-29 16:22:13 +01:00
22_locale re PR libstdc++/66855 (codecvt wrong endianness in UTF-16 conversions) 2015-07-13 21:07:48 +01:00
23_containers stl_algobase.h (__miter_base): Move... 2015-07-16 19:17:26 +00:00
24_iterators * testsuite/24_iterators/container_access.cc: New. 2015-07-29 13:55:58 +01:00
25_algorithms tuple (__is_tuple_like_impl): Disambiguate array in debug and profile modes. 2015-06-12 00:22:19 +01:00
26_numerics 1.cc: Use non-negative rho argument. 2015-06-22 16:09:32 +01:00
27_io [libstdc++-v3]Add _GLIBCXX_HAVE_LIMIT_FSIZE to guard 27_io/fpos/14775.cc. 2015-06-02 08:54:25 +00:00
28_regex re PR libstdc++/67015 ("^[a-z0-9][a-z0-9-]*$", std::regex::extended is miscompiled) 2015-07-29 03:45:35 +00:00
29_atomics [PATCH][libstc++v3]Add new dg-require-thread-fence directive. 2015-04-22 14:01:02 +00:00
30_threads constexpr.cc: Remove redundant -save-temps option. 2015-08-05 21:57:03 +01:00
abi Update copyright years. 2015-01-05 13:33:28 +01:00
backward Update copyright years. 2015-01-05 13:33:28 +01:00
config Update copyright years. 2015-01-05 13:33:28 +01:00
data make_graph_test_infos.xml: Edit. 2011-08-15 00:51:06 +00:00
decimal Update copyright years. 2015-01-05 13:33:28 +01:00
experimental current_path.cc: Use canonical paths for comparisons. 2015-07-30 13:41:33 +01:00
ext c++config (_GLIBCXX_NOEXCEPT_IF): Define. 2015-07-13 18:15:48 +01:00
lib re PR libstdc++/66829 (FAIL: 23_containers/multiset/modifiers/erase/dr130-linkage-check.cc) 2015-07-29 15:56:11 +01:00
libstdc++-abi Update copyright years. 2015-01-05 13:33:28 +01:00
libstdc++-dg Update copyright years. 2015-01-05 13:33:28 +01:00
libstdc++-prettyprinters Update copyright years. 2015-01-05 13:33:28 +01:00
libstdc++-xmethods xmethods.py (UniquePtrMethodsMatcher): Add operator-> support. 2015-05-26 23:06:55 +00:00
performance Update copyright years. 2015-01-05 13:33:28 +01:00
tr1 Use atomics in guard.cc. 2015-06-12 09:49:41 +00:00
tr2 Update copyright years. 2015-01-05 13:33:28 +01:00
util locale_conv.h: Fix copyright years. 2015-05-26 10:52:25 +01:00
Makefile.am Update copyright years. 2015-01-05 13:33:28 +01:00
Makefile.in libstdc++-v3/fragment.am (AM_CPPFLAGS): Add CPPFLAGS 2015-07-24 07:05:19 +00:00