aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2016-10-11 11:33:29 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2016-10-11 11:33:29 +0100
commitbf1de1ac983d607f5097ed1a6b004e50eabb3dde (patch)
tree2d76903eb51c8ff0b09cff48721cea04d03a85b4
parent7571121f10551b47b0eff7f8dc7fb32ed348f442 (diff)
downloadgcc-bf1de1ac983d607f5097ed1a6b004e50eabb3dde.zip
gcc-bf1de1ac983d607f5097ed1a6b004e50eabb3dde.tar.gz
gcc-bf1de1ac983d607f5097ed1a6b004e50eabb3dde.tar.bz2
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
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/python/libstdcxx/v6/printers.py1
-rw-r--r--libstdc++-v3/python/libstdcxx/v6/xmethods.py2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-xmethods/list.cc3
4 files changed, 7 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 70a6b1c..14cb404 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,10 @@
2016-10-11 Jonathan Wakely <jwakely@redhat.com>
+ * 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 b5fc2a0..714e1b8 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 eb0dd79..605cda1 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 ba20404..8fe0ad7 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
// <http://www.gnu.org/licenses/>.
-// List xmethods only recognize the non cxx11 std::list for now.
-#define _GLIBCXX_USE_CXX11_ABI 0
-
#include <list>
int