gcc/libstdc++-v3
Jonathan Wakely 33b43b0d8c Define std::string and related typedefs outside __cxx11 namespace
The typedefs for common specializations of std::__cxx11::basic_string do
not need to be in the std::__cxx11 namespace. Those typedefs are never
used for linkage purposes so don't appear in mangled names, and so don't
need to be distinct from the equivalent typedefs for the COW
std::basic_string specializations. It is OK for the same typedef to
refer to different types in different translation units.

Defining them directly in namespace std improves diagnostics that use
those typedefs. For example:

error: could not convert '1' from 'int' to 'std::__cxx11::string' {aka 'std::__cxx11::basic_string<char>'}

will now be printed as:

error: could not convert '1' from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}

The precise type is still shown, but the typedef is not obfuscated with
the inline namespace.

	* include/bits/stringfwd.h (string, wstring, u16string, u32string):
	Define typedefs outside of __cxx11 inline namespace.
	* python/libstdcxx/v6/printers.py (register_type_printers): Also
	register printers for typedefs in new location.

From-SVN: r264958
2018-10-09 14:06:46 +01:00
..
config config: Remove unused define for os uClibc 2018-10-02 14:35:42 +02:00
doc allocator.xml: Adjust link to "Reconsidering Custom Memory Allocation". 2018-10-01 15:17:15 +00:00
include Define std::string and related typedefs outside __cxx11 namespace 2018-10-09 14:06:46 +01:00
libsupc++ * libsupc++/cxxabi.h (__cxa_demangle): Clarify doxygen comment. 2018-09-05 16:18:16 +01:00
po PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
python Define std::string and related typedefs outside __cxx11 namespace 2018-10-09 14:06:46 +01:00
scripts Fix comments in testsuite script 2018-08-23 16:10:35 +01:00
src PR libstdc++/59439 optimize uses of classic ("C") std::locale 2018-10-03 12:27:40 +01:00
testsuite PR libstdc++/87538 Verify fix for std::experimental::not_fn 2018-10-08 13:17:58 +01:00
acinclude.m4 Add new src/c++17 directory to list in acinclude.m4 2018-07-25 12:01:39 +01:00
aclocal.m4
ChangeLog Define std::string and related typedefs outside __cxx11 namespace 2018-10-09 14:06:46 +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 Update copyright years. 2018-01-03 11:03:58 +01:00
config.h.in Fix bootstrap failure for bare metal due to autoconf link tests 2018-06-18 17:01:24 +01:00
configure Revert "libstdc++-v3: Have aligned_alloc() on Newlib" 2018-08-13 19:54:21 +01:00
configure.ac Revert "libstdc++-v3: Have aligned_alloc() on Newlib" 2018-08-13 19:54:21 +01:00
configure.host Don't force visibility to hidden for Darwin > 8. 2018-08-25 09:02:28 +00:00
crossconfig.m4 crossconfig.m4: Handle OpenBSD just like NetBSD. 2018-06-18 11:28:53 -06:00
fragment.am PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
linkage.m4
Makefile.am Update copyright years. 2018-01-03 11:03:58 +01:00
Makefile.in PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
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.