gcc/libstdc++-v3
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
..
config * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 2019-10-22 10:32:52 +00:00
doc PR libstdc++/88338 Implement P0898R3, C++20 concepts library 2019-10-24 10:47:25 +01:00
include Revert ABI changes to std::allocator in C++20 2019-10-24 16:29:41 +01:00
libsupc++ PR libstdc++/92143 adjust for OS X aligned_alloc behaviour 2019-10-18 12:27:31 +01:00
po
python Fix Xmethod for shared_ptr::use_count() 2019-09-11 12:38:23 +01:00
scripts Implement <concepts> header for C++20 2019-10-11 16:53:52 +01:00
src [_GLIBCXX_DEBUG] Clarify constness and state <unknown> entries. 2019-10-16 05:05:27 +00:00
testsuite Revert ABI changes to std::allocator in C++20 2019-10-24 16:29:41 +01:00
acinclude.m4 [ARM/FDPIC v6 24/24] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in libstdc++ configure scripts 2019-09-10 10:13:20 +02:00
aclocal.m4
ChangeLog Revert ABI changes to std::allocator in C++20 2019-10-24 16:29:41 +01:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
config.h.in Build filesystem library with large file support 2019-10-04 16:08:23 +01:00
configure Build filesystem library with large file support 2019-10-04 16:08:23 +01:00
configure.ac Build filesystem library with large file support 2019-10-04 16:08:23 +01:00
configure.host [ARM/FDPIC v6 24/24] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in libstdc++ configure scripts 2019-09-10 10:13:20 +02:00
crossconfig.m4 Remove Cell Broadband Engine SPU targets 2019-09-03 15:08:28 +00:00
fragment.am
linkage.m4
Makefile.am
Makefile.in
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.