+2018-10-09 Jonathan Wakely <jwakely@redhat.com>
+
+ * 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.
+
2018-10-08 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87538
typename _Alloc = allocator<_CharT> >
class basic_string;
+_GLIBCXX_END_NAMESPACE_CXX11
+
/// A string of @c char
typedef basic_string<char> string;
typedef basic_string<char32_t> u32string;
#endif
-_GLIBCXX_END_NAMESPACE_CXX11
-
/** @} */
_GLIBCXX_END_NAMESPACE_VERSION
# Add type printers for typedefs std::string, std::wstring etc.
for ch in ('', 'w', 'u16', 'u32'):
add_one_type_printer(obj, 'basic_string', ch + 'string')
+ add_one_type_printer(obj, '__cxx11::basic_string', ch + 'string')
+ # Typedefs for __cxx11::basic_string used to be in namespace __cxx11:
add_one_type_printer(obj, '__cxx11::basic_string',
'__cxx11::' + ch + 'string')
add_one_type_printer(obj, 'basic_string_view', ch + 'string_view')
for x in ('stringbuf', 'istringstream', 'ostringstream',
'stringstream'):
add_one_type_printer(obj, 'basic_' + x, ch + x)
- # <sstream> types are in __cxx11 namespace, but typedefs aren'x:
+ # <sstream> types are in __cxx11 namespace, but typedefs aren't:
add_one_type_printer(obj, '__cxx11::basic_' + x, ch + x)
# Add type printers for typedefs regex, wregex, cmatch, wcmatch etc.