Fix pretty printers tests
diff mbox series

Message ID b518f1ac-a410-bfd3-53b6-35b64f85a506@gmail.com
State New
Headers show
Series
  • Fix pretty printers tests
Related show

Commit Message

François Dumont Dec. 13, 2019, 9:27 p.m. UTC
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

Comments

Jonathan Wakely Dec. 20, 2019, 10:35 a.m. UTC | #1
On 13/12/19 22:27 +0100, François Dumont wrote:
>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 ?

OK for trunk, thanks.

Patch
diff mbox series

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();