gcc/libstdc++-v3/testsuite/21_strings/basic_string
Jonathan Wakely 4ff3e65090 Add allocator-extended copy/move ctors to COW string
Add these constructors from C++11 which were missing from the COW
basic_string. Additionally simplify the definitions of the
basic_string::reference and basic_string::const_reference types as
required by C++11.

This allows filesystem::path::string<Allocator>() to be simplified, so
that the same code is used for both basic_string implementations.

	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export allocator-extended
	copy/move constructors for old std::basic_string.
	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
	(basic_string::reference, basic_string::const_reference): Define
	as plain references for C++11 and later.
	(basic_string::basic_string()): Put constructor body outside
	preprocessor conditional groups.
	(basic_string::basic_string(basic_string&&)): Move _Alloc_hider
	instead of copying it.
	(basic_string::basic_string(const basic_string&, const _Alloc&)):
	Define.
	(basic_string::basic_string(basic_string&&, const _Alloc&)):
	Define.
	* include/bits/fs_path.h [!_GLIBCXX_USE_CXX11_ABI]: Remove special
	cases for old basic_string.
	* testsuite/21_strings/basic_string/cons/char/8.cc: Test
	allocator-extended constructors unconditionally. Add extra members to
	allocator type when using old string ABI.
	* testsuite/21_strings/basic_string/allocator/71964.cc: Enable test
	for old string ABI.
	* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.

From-SVN: r267584
2019-01-04 23:23:17 +00:00
..
allocator Add allocator-extended copy/move ctors to COW string 2019-01-04 23:23:17 +00:00
capacity Update copyright years. 2019-01-01 13:31:55 +01:00
cons Add allocator-extended copy/move ctors to COW string 2019-01-04 23:23:17 +00:00
debug Update copyright years. 2019-01-01 13:31:55 +01:00
element_access Update copyright years. 2019-01-01 13:31:55 +01:00
inserters_extractors Update copyright years. 2019-01-01 13:31:55 +01:00
literals Update copyright years. 2019-01-01 13:31:55 +01:00
modifiers Avoid spurious test failures when -fno-inline in test flags 2019-01-04 11:06:49 +00:00
numeric_conversions Update copyright years. 2019-01-01 13:31:55 +01:00
operations Update copyright years. 2019-01-01 13:31:55 +01:00
operators Update copyright years. 2019-01-01 13:31:55 +01:00
range_access Update copyright years. 2019-01-01 13:31:55 +01:00
requirements Remove XFAIL from test that no longer fails 2019-01-04 16:07:06 +00:00
types Update copyright years. 2019-01-01 13:31:55 +01:00
40160.cc Update copyright years. 2019-01-01 13:31:55 +01:00
56166.cc Update copyright years. 2019-01-01 13:31:55 +01:00
79162.cc Update copyright years. 2019-01-01 13:31:55 +01:00
dr2268.cc Update copyright years. 2019-01-01 13:31:55 +01:00
erasure.cc Update copyright years. 2019-01-01 13:31:55 +01:00
init-list.cc Update copyright years. 2019-01-01 13:31:55 +01:00
lwg2758.cc Update copyright years. 2019-01-01 13:31:55 +01:00
lwg2946.cc Update copyright years. 2019-01-01 13:31:55 +01:00
pthread4.cc Update copyright years. 2019-01-01 13:31:55 +01:00
pthread18185.cc Update copyright years. 2019-01-01 13:31:55 +01:00
pthread33394.cc Update copyright years. 2019-01-01 13:31:55 +01:00