gcc/libstdc++-v3/testsuite
Jonathan Wakely 86fc6ec9f3 Implement LWG 2905 changes to constrain unique_ptr constructors
LWG DR 2905 says that is_constructible_v<unique_ptr<P, D>, P, D const &>
should be false when D is not copy constructible. This commit implements
the changes from the DR and simplifies the signatures as per
https://github.com/cplusplus/draft/issues/1530

	* include/bits/unique_ptr.h (__uniq_ptr_impl): Add assertions to
	check deleter type.
	(unique_ptr::unique_ptr(pointer, const deleter_type&)): Add copy
	constructible constraint.
	(unique_ptr::unique_ptr(pointer, deleter_type&&)): Disable for
	deleters of reference type and add move constructible constraint.
	(unique_ptr::unique_ptr(pointer, remove_reference_t<deleter_type>&&)):
	Disable for deleters of non-reference type. Define as deleted.
	(unique_ptr<T[], D>): Likewise.
	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Replace dg-error
	directives with unstable line numbers with dg-prune-output.
	* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/cons/lwg2905.cc: New test.
	* testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
	Make deleter types invocable.

From-SVN: r264206
2018-09-11 11:55:49 +01:00
..
17_intro Add <bit> and <version> to freestanding headers 2018-08-13 19:54:34 +01:00
18_support * testsuite/18_support/new_nothrow.cc: XFAIL on AIX. 2018-08-21 10:03:16 -04:00
19_diagnostics Add workaround for non-unique errno values on AIX 2018-08-03 13:53:34 +01:00
20_util Implement LWG 2905 changes to constrain unique_ptr constructors 2018-09-11 11:55:49 +01:00
21_strings 10.cc: Add dg-require-fileio. 2018-08-31 15:09:47 -04:00
22_locale PR libstdc++/31413 fix test failure on Debian systems 2018-08-29 11:05:55 +01:00
23_containers PR libstdc++/87194 fix range insertion into maps and sets 2018-09-03 15:25:25 +01:00
24_iterators PR libstdc++/86734 make reverse_iterator::operator-> more robust 2018-07-30 18:13:05 +01:00
25_algorithms 10.cc: Add dg-require-fileio. 2018-08-31 15:09:47 -04:00
26_numerics PR libstdc++/78179 run long double tests separately 2018-09-03 15:54:28 +01:00
27_io 10.cc: Add dg-require-fileio. 2018-08-31 15:09:47 -04:00
28_regex PR libstdc++/87061 remove pmr type aliases for COW strings 2018-08-22 23:54:33 +01:00
29_atomics Add missing dg-require-cstdint directives to tests 2018-07-26 15:03:28 +01:00
30_threads Report early wakeup of condition_variable::wait_until as no_timeout 2018-08-01 16:39:45 +01:00
abi Update copyright years. 2018-01-03 11:03:58 +01:00
backward Remove duplicate function call in test 2018-05-02 17:27:01 +01:00
config Update copyright years. 2018-01-03 11:03:58 +01:00
data
decimal Update copyright years. 2018-01-03 11:03:58 +01:00
experimental 10.cc: Add dg-require-fileio. 2018-08-31 15:09:47 -04:00
ext 10.cc: Add dg-require-fileio. 2018-08-31 15:09:47 -04:00
lib Define "random_device" effective target 2018-07-04 17:56:21 +01:00
libstdc++-abi Update copyright years. 2018-01-03 11:03:58 +01:00
libstdc++-dg Update copyright years. 2018-01-03 11:03:58 +01:00
libstdc++-prettyprinters printers.py (NodeIteratorPrinter): New. 2018-03-08 06:26:15 +00:00
libstdc++-xmethods Update copyright years. 2018-01-03 11:03:58 +01:00
performance Update copyright years. 2018-01-03 11:03:58 +01:00
special_functions PR libstdc++/83140 - assoc_legendre returns negated value when m is odd 2018-05-10 13:59:52 +00:00
tr1 Add missing dg-require-cstdint directives to tests 2018-07-26 15:03:28 +01:00
tr2 Update copyright years. 2018-01-03 11:03:58 +01:00
util 2018-09-02 François Dumont <fdumont@gcc.gnu.org> 2018-09-02 10:20:57 +00:00
Makefile.am Update copyright years. 2018-01-03 11:03:58 +01:00
Makefile.in PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00