gcc/libstdc++-v3/testsuite
Jonathan Wakely 5d84e6c53e LWG 3076 basic_string CTAD ambiguity
When deduction guides are supported by the compiler (i.e. for C++17 and
later) replace two basic_string constructors by constrained function
templates as required by LWG 3075. In order to ensure that the pre-C++17
non-template constructors are still exported from the shared library
define a macro in src/c++11/string-inst.cc to force the non-template
declarations (this isn't strictly needed yet, because the string
instantiations are compiled with -std=gnu++11, but that is likely to
change).

	LWG 3076 basic_string CTAD ambiguity
	* doc/xml/manual/intro.xml: Document LWG 3076 change.
	* include/bits/basic_string.h
	[__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
	(basic_string(const _CharT*, const _Alloc&)): Turn into a function
	template constrained by _RequireAllocator.
	(basic_string(size_type, _CharT, const _Alloc&)): Likewise.
	* src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
	Define.
	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
	deduction
	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
	Likewise.

From-SVN: r261670
2018-06-16 00:47:33 +01:00
..
17_intro * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux. 2018-01-16 20:40:09 +00:00
18_support PR libstdc++/84773 use aligned alloc functions for FreeBSD and MinGW cross-compilers 2018-03-12 22:52:16 +00:00
19_diagnostics Update copyright years. 2018-01-03 11:03:58 +01:00
20_util LWG 2993 reference_wrapper<T> conversion from T&& 2018-06-15 15:19:47 +01:00
21_strings LWG 3076 basic_string CTAD ambiguity 2018-06-16 00:47:33 +01:00
22_locale P0935R0 Eradicating unnecessarily explicit default constructors 2018-06-14 15:12:24 +01:00
23_containers PR libstdc++/83982 fix exception-safety guarantee of std::vector::resize 2018-06-14 10:26:51 +01:00
24_iterators safe_iterator.h (_Safe_iterator<>::_M_constant()): Rename in... 2018-05-09 20:04:46 +00:00
25_algorithms 2018-06-13 François Dumont <fdumont@gcc.gnu.org> 2018-06-13 20:27:26 +00:00
26_numerics LWG 3074 make scalar types non-deduced in valarray non-member functions 2018-06-14 20:36:54 +01:00
27_io PR libstdc++/86008 add std::quoted support for string_view 2018-06-06 07:05:07 +01:00
28_regex P0935R0 Eradicating unnecessarily explicit default constructors 2018-06-14 15:12:24 +01:00
29_atomics Implement P0558R2 changes to std::atomic 2018-05-24 16:28:26 +01:00
30_threads PR libstdc++/84535 constrain std::thread constructor 2018-05-03 15:08:36 +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 Mark some Filesystem tests as XFAIL for mingw 2018-06-05 08:37:30 +01:00
ext P0935R0 Eradicating unnecessarily explicit default constructors 2018-06-14 14:32:53 +01:00
lib Update copyright years. 2018-01-03 11:03:58 +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 ...and actually resture the *new* testcase. 2018-05-11 17:38:26 +00:00
tr2 Update copyright years. 2018-01-03 11:03:58 +01:00
util P0935R0 Eradicating unnecessarily explicit default constructors 2018-06-12 20:10:55 +01:00
Makefile.am Update copyright years. 2018-01-03 11:03:58 +01:00
Makefile.in Enable building libstdc++-v3 with Intel CET 2017-11-17 22:28:10 +01:00