I had forgotten to re-run tests after I removed the #define _GLIBCXX_USE_CXX11_ABI 0. The comment was misleading, it could also impact output of std::list. I am also restoring the correct std::string alias for std::__cxx11::basic_string, even if with my workaround it doesn't really matter as the one for std::basic_string will be used. I also restored the printer for std::__cxx11::string typedef. Is it intentional to keep this ?     libstdc++: Fix gdb pretty printers when dealing with std::string     Since revision 33b43b0d8cd2de722d177ef823930500948a7487 std::string and other     similar typedef are ambiguous from a gdb point of view because it matches both     std::basic_string and std::__cxx11::basic_string symbols. For those     typedef add a workaround to accept the substitution as long as the same regardless     of __cxx11 namespace.     Also avoid to register printers for types in std::__cxx11::__8:: namespace, there is     no such symbols.     libstdc++-v3/ChangeLog:             * libstdc++-v3/python/libstdcxx/v6/printers.py (Printer.add_version): Do not add             version namespace for __cxx11 symbols.             (add_one_template_type_printer): Likewise.             (add_one_type_printer): Likewise.             (FilteringTypePrinter._recognizer.recognize): Add a workaround for std::string & al             ambiguous typedef matching both std:: and std::__cxx11:: symbols.             (register_type_printers): Refine type registration to limit false positive in             FilteringTypePrinter._recognize.recognize requiring to look for the type in gdb.             * libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc: Remove obsolete             \#define _GLIBCXX_USE_CXX11_ABI 0.             * libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc: Likewise. Adapt test             to accept std::__cxx11::list.             * libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.             * libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.             * libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc: Likewise and remove             xfail for c++20 and debug mode.             * libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. Ok to commit ? François On 28/09/22 22:42, François Dumont wrote: > Sometimes substitution of basic_string by one of the std::string > typeedef fails. Here is the fix. > >     libstdc++: Fix gdb pretty printers when dealing with std::string > >     Since revision 33b43b0d8cd2de722d177ef823930500948a7487 > std::string and other >     similar typedef are ambiguous from a gdb point of view because it > matches both >     std::basic_string and std::__cxx11::basic_string > symbols. For those >     typedef add a workaround to accept the substitution as long as the > same regardless >     of __cxx11 namespace. > >     Also avoid to register printers for types in std::__cxx11::__8:: > namespace, there is >     no such symbols. > >     libstdc++-v3/ChangeLog: > >             * libstdc++-v3/python/libstdcxx/v6/printers.py > (Printer.add_version): Do not add >             version namespace for __cxx11 symbols. >             (add_one_template_type_printer): Likewise. >             (add_one_type_printer): Likewise. >             (FilteringTypePrinter._recognizer.recognize): Add a > workaround for std::string & al >             ambiguous typedef matching both std:: and std::__cxx11:: > symbols. >             (register_type_printers): Refine type registration to > limit false positive in >             FilteringTypePrinter._recognize.recognize requiring to > look for the type in gdb. >             * > libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc: Remove obsolete >             \#define _GLIBCXX_USE_CXX11_ABI 0. >             * > libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc: Likewise. >             * > libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. >             * > libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. >             * > libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc: Likewise and > remove >             xfail for c++20 and debug mode. >             * > libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. > > Tested under x86_64 linux w/o _GLIBCXX_INLINE_VERSION and w/o > _GLIBCXX_DEBUG. > > I also tested it with my patch to use cxx11 abi in > _GLIBCXX_INLINE_VERSION mode. > > Ok to commit ? > > François