Hi
When restoring versioned namespace feature I forgot to check for
the pretty printer tests which are now broken.
Here is the patch to fix those. Tested under Linux x86_64 normal
and versioned namepace modes, ok to commit ?
François
diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py
index b7b2a0f..0a168fe 100644
--- a/libstdc++-v3/python/libstdcxx/v6/printers.py
+++ b/libstdc++-v3/python/libstdcxx/v6/printers.py
@@ -973,8 +973,8 @@ class StdExpAnyPrinter(SingleObjContainerPrinter):
"Print a std::any or std::experimental::any"
def __init__ (self, typename, val):
- self.typename = re.sub('^std::experimental::fundamentals_v\d::', 'std::experimental::', typename, 1)
- self.typename = strip_versioned_namespace(self.typename)
+ self.typename = strip_versioned_namespace(typename)
+ self.typename = re.sub('^std::experimental::fundamentals_v\d::', 'std::experimental::', self.typename, 1)
self.val = val
self.contained_type = None
contained_value = None
@@ -1021,8 +1021,8 @@ class StdExpOptionalPrinter(SingleObjContainerPrinter):
def __init__ (self, typename, val):
valtype = self._recognize (val.type.template_argument(0))
- self.typename = re.sub('^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1)
- self.typename = strip_versioned_namespace(self.typename)
+ self.typename = strip_versioned_namespace(typename)
+ self.typename = re.sub('^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, self.typename, 1)
if not self.typename.startswith('std::experimental'):
val = val['_M_payload']
self.val = val
@@ -1043,8 +1043,8 @@ class StdVariantPrinter(SingleObjContainerPrinter):
def __init__(self, typename, val):
alternatives = self._template_args(val)
- self.typename = "%s<%s>" % (typename, ', '.join([self._recognize(alt) for alt in alternatives]))
- self.typename = strip_versioned_namespace(self.typename)
+ self.typename = strip_versioned_namespace(typename)
+ self.typename = "%s<%s>" % (self.typename, ', '.join([self._recognize(alt) for alt in alternatives]))
self.index = val['_M_index']
if self.index >= len(alternatives):
self.contained_type = None
@@ -1232,7 +1232,7 @@ class Printer(object):
# Add a name using _GLIBCXX_BEGIN_NAMESPACE_CONTAINER.
def add_container(self, base, name, function):
self.add_version(base, name, function)
- self.add_version(base + '__cxx1998::', name, function)
+ self.add_version(base, '__cxx1998::' + name, function)
@staticmethod
def get_basic_type(type):
@@ -1511,7 +1511,7 @@ def build_libstdcxx_dictionary ():
libstdcxx_printer.add_container('std::', 'bitset', StdBitsetPrinter)
libstdcxx_printer.add_container('std::', 'deque', StdDequePrinter)
libstdcxx_printer.add_container('std::', 'list', StdListPrinter)
- libstdcxx_printer.add_container('std::__cxx11::', 'list', StdListPrinter)
+ libstdcxx_printer.add_container('std::', '__cxx11::list', StdListPrinter)
libstdcxx_printer.add_container('std::', 'map', StdMapPrinter)
libstdcxx_printer.add_container('std::', 'multimap', StdMapPrinter)
libstdcxx_printer.add_container('std::', 'multiset', StdSetPrinter)
@@ -1581,33 +1581,33 @@ def build_libstdcxx_dictionary ():
StdForwardListPrinter)
# Library Fundamentals TS components
- libstdcxx_printer.add_version('std::experimental::fundamentals_v1::',
- 'any', StdExpAnyPrinter)
- libstdcxx_printer.add_version('std::experimental::fundamentals_v1::',
- 'optional', StdExpOptionalPrinter)
- libstdcxx_printer.add_version('std::experimental::fundamentals_v1::',
- 'basic_string_view', StdExpStringViewPrinter)
+ libstdcxx_printer.add_version('std::', 'experimental::fundamentals_v1::any',
+ StdExpAnyPrinter)
+ libstdcxx_printer.add_version('std::', 'experimental::fundamentals_v1::optional',
+ StdExpOptionalPrinter)
+ libstdcxx_printer.add_version('std::', 'experimental::fundamentals_v1::basic_string_view',
+ StdExpStringViewPrinter)
# Filesystem TS components
- libstdcxx_printer.add_version('std::experimental::filesystem::v1::',
- 'path', StdExpPathPrinter)
- libstdcxx_printer.add_version('std::experimental::filesystem::v1::__cxx11::',
- 'path', StdExpPathPrinter)
- libstdcxx_printer.add_version('std::filesystem::',
- 'path', StdExpPathPrinter)
- libstdcxx_printer.add_version('std::filesystem::__cxx11::',
- 'path', StdExpPathPrinter)
+ libstdcxx_printer.add_version('std::', 'experimental::filesystem::v1::path',
+ StdExpPathPrinter)
+ libstdcxx_printer.add_version('std::', 'experimental::filesystem::v1::__cxx11::path',
+ StdExpPathPrinter)
+ libstdcxx_printer.add_version('std::', 'filesystem::path',
+ StdExpPathPrinter)
+ libstdcxx_printer.add_version('std::', 'filesystem::__cxx11::path',
+ StdExpPathPrinter)
# C++17 components
- libstdcxx_printer.add_version('std::',
- 'any', StdExpAnyPrinter)
- libstdcxx_printer.add_version('std::',
- 'optional', StdExpOptionalPrinter)
- libstdcxx_printer.add_version('std::',
- 'basic_string_view', StdExpStringViewPrinter)
- libstdcxx_printer.add_version('std::',
- 'variant', StdVariantPrinter)
- libstdcxx_printer.add_version('std::',
- '_Node_handle', StdNodeHandlePrinter)
+ libstdcxx_printer.add_version('std::', 'any',
+ StdExpAnyPrinter)
+ libstdcxx_printer.add_version('std::', 'optional',
+ StdExpOptionalPrinter)
+ libstdcxx_printer.add_version('std::', 'basic_string_view',
+ StdExpStringViewPrinter)
+ libstdcxx_printer.add_version('std::', 'variant',
+ StdVariantPrinter)
+ libstdcxx_printer.add_version('std::', '_Node_handle',
+ StdNodeHandlePrinter)
# Extensions.
libstdcxx_printer.add_version('__gnu_cxx::', 'slist', StdSlistPrinter)