Here is a patch to fix prettyprinters.exp failures in normal and debug
modes.
In 80276.cc I replicate the #define with comment from other tests even
if it isn't true that cxx11 abi string isn't supported. It's just that
it doesn't appear as 'std::string', the aliasing doesn't work.
I still have failures when running with versioned namespace which I am
going to check now.
* python/libstdcxx/v6/printers.py (lookup_node_type): Remove redundant
call to lookup_node_type.
* testsuite/libstdc++-prettyprinters/80276.cc: Define
_GLIBCXX_USE_CXX11_ABI to 0.
* testsuite/libstdc++-prettyprinters/91997.cc: Use regexp-test to check
'a' content.
Ok to commit ?
François
diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py
index 08327516b28..5119e6fab7e 100644
--- a/libstdc++-v3/python/libstdcxx/v6/printers.py
+++ b/libstdc++-v3/python/libstdcxx/v6/printers.py
@@ -146,7 +146,6 @@ def lookup_node_type(nodename, containertype):
if is_member_of_namespace(containertype, 'std::__cxx1998',
'std::__debug', '__gnu_debug'):
nodename = nodename.replace('::', '::__cxx1998::', 1)
- return lookup_templ_spec(nodename, valtype)
try:
return lookup_templ_spec(nodename, valtype)
except gdb.error:
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc
index 3425b499e3a..272adb86e0c 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc
@@ -18,6 +18,9 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+// Type printers only recognize the old std::string for now.
+#define _GLIBCXX_USE_CXX11_ABI 0
+
#include <iostream>
#include <list>
#include <memory>
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/91997.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/91997.cc
index 393c5680e2e..059ac9aa97f 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/91997.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/91997.cc
@@ -41,7 +41,7 @@ int main()
// { dg-final { note-test mit {{first = 1, second = 2}} } }
std::any a = m;
- // { dg-final { note-test a {std::any containing std::map with 1 element = {[1] = 2}} } }
+ // { dg-final { regexp-test a {std::any containing std::(__debug::)?map with 1 element = {\[1\] = 2}} } }
std::set<int> s{1, 2};
auto sit = s.begin();