From: Jonathan Wakely Date: Thu, 18 May 2017 09:23:29 +0000 (+0100) Subject: Enable printers and xmethods for std::__cxx11::list X-Git-Tag: releases/gcc-5.5.0~358 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c4fa9d1d879bdfe5d857780a9018de8b651d37d;p=thirdparty%2Fgcc.git Enable printers and xmethods for std::__cxx11::list Backport from mainline 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. From-SVN: r248181 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f5af14f2ed34..21a2b09a3f40 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2017-05-18 Jonathan Wakely + + Backport from mainline + 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. + 2017-05-17 Jonathan Wakely Backport from mainline diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py index 51bd03a3ac5f..3b4badfe9bdc 100644 --- a/libstdc++-v3/python/libstdcxx/v6/printers.py +++ b/libstdc++-v3/python/libstdcxx/v6/printers.py @@ -1343,6 +1343,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 4505f0f0669b..fb0af74a810e 100644 --- a/libstdc++-v3/python/libstdcxx/v6/xmethods.py +++ b/libstdc++-v3/python/libstdcxx/v6/xmethods.py @@ -381,7 +381,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 050f75b807eb..6c02de943f8b 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