From bf1de1ac983d607f5097ed1a6b004e50eabb3dde Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Tue, 11 Oct 2016 11:33:29 +0100 Subject: [PATCH] Enable printers and xmethods for std::__cxx11::list * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary): Register printer for std::__cxx11::list. * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match std::__cxx11::list as well as std::list. From-SVN: r240982 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/python/libstdcxx/v6/printers.py | 1 + libstdc++-v3/python/libstdcxx/v6/xmethods.py | 2 +- libstdc++-v3/testsuite/libstdc++-xmethods/list.cc | 3 --- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 70a6b1c7be6..14cb404a79a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,10 @@ 2016-10-11 Jonathan Wakely + * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary): + Register printer for std::__cxx11::list. + * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match + std::__cxx11::list as well as std::list. + * include/experimental/string_view (basic_string_view::_S_compare): Remove redundant const from return type. * include/std/string_view (basic_string_view:_S_compare): Likewise. diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py index b5fc2a02aa5..714e1b86af5 100644 --- a/libstdc++-v3/python/libstdcxx/v6/printers.py +++ b/libstdc++-v3/python/libstdcxx/v6/printers.py @@ -1445,6 +1445,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::', 'map', StdMapPrinter) libstdcxx_printer.add_container('std::', 'multimap', StdMapPrinter) libstdcxx_printer.add_container('std::', 'multiset', StdSetPrinter) diff --git a/libstdc++-v3/python/libstdcxx/v6/xmethods.py b/libstdc++-v3/python/libstdcxx/v6/xmethods.py index eb0dd79d74f..605cda11761 100644 --- a/libstdc++-v3/python/libstdcxx/v6/xmethods.py +++ b/libstdc++-v3/python/libstdcxx/v6/xmethods.py @@ -390,7 +390,7 @@ class ListMethodsMatcher(gdb.xmethod.XMethodMatcher): self.methods = [self._method_dict[m] for m in self._method_dict] def match(self, class_type, method_name): - if not re.match('^std::list<.*>$', class_type.tag): + if not re.match('^std::(__cxx11::)?list<.*>$', class_type.tag): return None method = self._method_dict.get(method_name) if method is None or not method.enabled: diff --git a/libstdc++-v3/testsuite/libstdc++-xmethods/list.cc b/libstdc++-v3/testsuite/libstdc++-xmethods/list.cc index ba20404c37f..8fe0ad77f58 100644 --- a/libstdc++-v3/testsuite/libstdc++-xmethods/list.cc +++ b/libstdc++-v3/testsuite/libstdc++-xmethods/list.cc @@ -18,9 +18,6 @@ // with this library; see the file COPYING3. If not see // . -// List xmethods only recognize the non cxx11 std::list for now. -#define _GLIBCXX_USE_CXX11_ABI 0 - #include int -- 2.30.2