gcc/libstdc++-v3/testsuite
Jonathan Wakely b2343559f2 Add array support to std::shared_ptr for C++17
* doc/xml/manual/status_cxx2017.xml: Update status.
	* doc/html/manual/status.html: Regenerate.
	* include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
	extension constructor to maintain C++14 behaviour.
	* include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
	(__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
	New constructors.
	(__sp_compatible_with, __sp_is_constructible): Add specializations
	for array support.
	(__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
	(__shared_ptr_access): New base class for observer member functions.
	(__shared_ptr::element_type): Use remove_extent.
	(__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
	(__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
	constructor.
	(__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
	(__shared_ptr::operator*, __shared_ptr::operator->): Remove and
	inherit from __shared_ptr_access base class.
	(__shared_ptr::__has_esft_base): Return false for array types.
	(__weak_ptr::element_type): Use remove_extent.
	* include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
	(__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
	(__wak_ptr<__libfund_v1<_Tp>>): Likewise.
	(experimental::__sp_compatible_v): Redefine using
	__sp_compatible_with.
	(experimental::__sp_is_constructible_v): Redefine using
	__sp_is_constructible.
	(get_deleter, operator<<): Change argument from __shared_ptr to
	shared_ptr.
	* testsuite/20_util/shared_ptr/cons/array.cc: New test.
	* testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
	new behaviour.
	* testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
	arrays.
	* testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.

From-SVN: r242369
2016-11-13 22:57:45 +00:00
..
17_intro Fix libstdc++ versioned namespace build 2016-10-03 15:35:28 +01:00
18_support Implement std::launder for C++17 2016-10-28 15:09:33 +01:00
19_diagnostics testsuite_hooks.h: Rewrite VERIFY in terms of __builtin_printf and __builtin_abort. 2016-10-12 16:13:06 +00:00
20_util Add array support to std::shared_ptr for C++17 2016-11-13 22:57:45 +00:00
21_strings Implement P0403R1, Literal suffixes for basic_string_view. 2016-11-13 22:54:27 +02:00
22_locale isblank.cc: Remove 'test' variables. 2016-10-17 00:02:57 +00:00
23_containers 57619.C: Rename to 57619.cc. 2016-10-17 13:32:32 +00:00
24_iterators container_access.cc: Remove 'test' variables. 2016-10-13 19:37:45 +00:00
25_algorithms PR77994 Convert std::sample size argument to suitable type 2016-10-17 15:39:23 +01:00
26_numerics 1.cc: Remove 'test' variables. 2016-10-14 13:50:24 +00:00
27_io 12790-1.cc: Remove 'test' variables. 2016-10-17 22:24:50 +00:00
28_regex regex.h (regex_iterator::regex_iterator()): Define end() as _M_pregex == nullptr. 2016-11-09 22:11:32 +00:00
29_atomics container_access.cc: Remove 'test' variables. 2016-10-13 19:37:45 +00:00
30_threads DR 374 - specialization in outer namespace 2016-11-13 01:51:23 -05:00
abi Skip C tests if test flags include C++ options 2016-08-02 14:32:26 +01:00
backward container_access.cc: Remove 'test' variables. 2016-10-13 19:37:45 +00:00
config Update copyright years. 2016-01-04 15:30:50 +01:00
data make_graph_test_infos.xml: Edit. 2011-08-15 00:51:06 +00:00
decimal container_access.cc: Remove 'test' variables. 2016-10-13 19:37:45 +00:00
experimental Implement P0403R1, Literal suffixes for basic_string_view. 2016-11-13 22:54:27 +02:00
ext DR 374 - specialization in outer namespace 2016-11-13 01:51:23 -05:00
lib testsuite_hooks.h: Rewrite VERIFY in terms of __builtin_printf and __builtin_abort. 2016-10-12 16:13:06 +00:00
libstdc++-abi Update copyright years. 2016-01-04 15:30:50 +01:00
libstdc++-dg Implement TR29124 C++ special Math Functions. 2016-01-14 18:12:43 +00:00
libstdc++-prettyprinters Implement C++17 node extraction and insertion (P0083R5) 2016-09-22 14:58:49 +01:00
libstdc++-xmethods Enable printers and xmethods for std::__cxx11::list 2016-10-11 11:33:29 +01:00
performance Use effective-target instead of -std options 2016-08-26 12:41:37 +01:00
special_functions container_access.cc: Remove 'test' variables. 2016-10-13 19:37:45 +00:00
tr1 DR 374 - specialization in outer namespace 2016-11-13 01:51:23 -05:00
tr2 container_access.cc: Remove 'test' variables. 2016-10-13 19:37:45 +00:00
util Fix error handling in copy_file and equivalent 2016-10-25 16:32:37 +01:00
Makefile.am Update copyright years. 2016-01-04 15:30:50 +01:00
Makefile.in Disable .gnu.attributes tags in compatibility-ldbl.o 2016-09-29 07:33:17 +09:30