On Thu, 26 May 2022 at 00:34, Jonathan Wakely <jwak...@redhat.com> wrote:
>
> On Wed, 25 May 2022 at 21:29, François Dumont via Libstdc++
> <libstd...@gcc.gnu.org> wrote:
> >
> > Hi
> >
> >      Here is a patch to fix std::span pretty printer in versioned
> > namespace mode.
> >
> >      Note that there is still a problem with std::atomic after this patch.
> >
> > got: $13 = std::atomic<std::__8::shared_ptr<int>> (empty) = {get() = 0x0}
> > FAIL: libstdc++-prettyprinters/cxx20.cc print spe

Does this fix it?

--- a/libstdc++-v3/python/libstdcxx/v6/printers.py
+++ b/libstdc++-v3/python/libstdcxx/v6/printers.py
@@ -1734,6 +1734,7 @@ class StdAtomicPrinter:
                impl = val['_M_impl']
                self.shptr_printer = SharedPointerPrinter(typename, impl)
                self.children = self._shptr_children
+                self.typename = self.typename.replace(self.value_type.tag, typ)

    def _shptr_children(self):
        return SmartPtrIterator(self.shptr_printer.pointer)


I'll test it with a versioned-namespace build tomorrow.





> >
> >      libstdc++: [_GLIBCXX_INLINE_VERSION] Fix std::span pretty printer
> >
> >      libstdc++-v3/ChangeLog:
> >
> >              * python/libstdcxx/v6/printers.py (StdSpanPrinter.__init__):
> >              Strip typename from version namespace.
> >
> > Tested under Linux x86_64 _GLIBCXX_INLINE_VERSION mode.
> >
> > Ok to commit ?
>
> OK, thanks.

Reply via email to