gcc/libstdc++-v3
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
..
config Add support for opening file streams from wide character strings 2018-05-21 18:18:35 +01:00
doc LWG 3076 basic_string CTAD ambiguity 2018-06-16 00:47:33 +01:00
include LWG 3076 basic_string CTAD ambiguity 2018-06-16 00:47:33 +01:00
libsupc++ Some libstdc++ fixes for -Wdeprecated-copy. 2018-05-18 16:02:14 -04:00
po
python
scripts
src LWG 3076 basic_string CTAD ambiguity 2018-06-16 00:47:33 +01:00
testsuite LWG 3076 basic_string CTAD ambiguity 2018-06-16 00:47:33 +01:00
acinclude.m4
aclocal.m4
ChangeLog LWG 3076 basic_string CTAD ambiguity 2018-06-16 00:47:33 +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
config.h.in PR libstdc++/78870 support std::filesystem on Windows 2018-05-31 20:20:24 +01:00
configure PR libstdc++/78870 support std::filesystem on Windows 2018-05-31 20:20:24 +01:00
configure.ac PR libstdc++/78870 support std::filesystem on Windows 2018-05-31 20:20:24 +01:00
configure.host
crossconfig.m4 PR target/85904 check for aligned_alloc on netbsd cross-compilation 2018-05-24 18:31:13 +01: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.