gcc/libstdc++-v3/testsuite/ext
Jonathan Wakely 75c6a925da Revert ABI changes to std::allocator in C++20
The recent C++20 changes to remove the std::allocator<void> explicit
specialization and the destructor in the std::allocator primary template
change the result of some is_trivially_xxx type traits. To avoid those
changes, this patch restores the explicit specialization and the
destructor.

In order to meet the C++20 requirements the std::allocator<void>
explicit specialization must provide the same interface as the primary
template (except for the unusable allocate and deallocate member
functions) and the destructor in the primary template must be constexpr.

	* include/bits/allocator.h (allocator<void>): Restore the explicit
	specialization for C++20, but make its API consistent with the primary
	template.
	(allocator::~allocator()): Restore the destructor for C++20, but make
	it constexpr.
	* testsuite/20_util/allocator/rebind_c++20.cc: Check allocator<void>.
	* testsuite/20_util/allocator/requirements/typedefs_c++20.cc: Likewise.
	* testsuite/20_util/allocator/void.cc: Check that constructors and
	destructors are trivial. Check for converting constructor in C++20.
	* testsuite/ext/malloc_allocator/variadic_construct.cc: Simplify
	dejagnu target selector.
	* testsuite/ext/new_allocator/variadic_construct.cc: Likewise.

From-SVN: r277410
2019-10-24 16:29:41 +01:00
..
bitmap_allocator Extend DCE to remove unnecessary new/delete-pairs (PR c++/23383). 2019-07-25 09:36:38 +00:00
char8_t Fix tests that fail with -std=gnu++98 or -std=gnu++11 2019-06-06 13:13:42 +01:00
codecvt Update copyright years. 2019-01-01 13:31:55 +01:00
concurrence_lock_error Update copyright years. 2019-01-01 13:31:55 +01:00
concurrence_unlock_error Update copyright years. 2019-01-01 13:31:55 +01:00
debug_allocator Update copyright years. 2019-01-01 13:31:55 +01:00
enc_filebuf Remove obsolete Solaris 10 support 2019-05-14 17:17:23 +00:00
ext_pointer Update copyright years. 2019-01-01 13:31:55 +01:00
forced_error Update copyright years. 2019-01-01 13:31:55 +01:00
iota Update copyright years. 2019-01-01 13:31:55 +01:00
is_heap Update copyright years. 2019-01-01 13:31:55 +01:00
is_sorted Update copyright years. 2019-01-01 13:31:55 +01:00
malloc_allocator Revert ABI changes to std::allocator in C++20 2019-10-24 16:29:41 +01:00
mt_allocator Update copyright years. 2019-01-01 13:31:55 +01:00
new_allocator Revert ABI changes to std::allocator in C++20 2019-10-24 16:29:41 +01:00
numeric_traits Update copyright years. 2019-01-01 13:31:55 +01:00
pb_ds Update copyright years. 2019-01-01 13:31:55 +01:00
pool_allocator Fix tests that fail in C++2a mode 2019-01-29 00:47:32 +00:00
random skip Cholesky decomposition in is>>n_mv_dist 2019-08-09 09:20:58 +00:00
rope Update copyright years. 2019-01-01 13:31:55 +01:00
shared_ptr Update copyright years. 2019-01-01 13:31:55 +01:00
slist Update copyright years. 2019-01-01 13:31:55 +01:00
special_functions libstdc++ testsuite, silence a FreeBSD libm warning 2019-09-30 22:23:02 +02:00
stdio_filebuf Update copyright years. 2019-01-01 13:31:55 +01:00
stdio_sync_filebuf Update copyright years. 2019-01-01 13:31:55 +01:00
throw_allocator Remove Profile Mode, deprecated since GCC 7.1 2019-05-13 11:50:21 +01:00
throw_value Update copyright years. 2019-01-01 13:31:55 +01:00
type_traits Update copyright years. 2019-01-01 13:31:55 +01:00
vstring Remove redundant std::allocator members for C++20 2019-10-22 22:48:39 +01:00
concept_checks.cc Update copyright years. 2019-01-01 13:31:55 +01:00
headers.cc Remove array_allocator extension, deprecated since 4.9.0 2019-05-13 11:49:58 +01:00
median.cc Update copyright years. 2019-01-01 13:31:55 +01:00
pod_char_traits.cc Update copyright years. 2019-01-01 13:31:55 +01:00