From: redi Date: Fri, 8 Oct 2010 11:31:56 +0000 (+0000) Subject: PR libstdc++/45403 X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=4c4fb6b0d3dd30277fdeff58d9df10c567163261;hp=7717ea00902734bd90371e34af23d0b73287f875 PR libstdc++/45403 * python/libstdcxx/v6/printers.py: Check for lazy_string support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165163 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 532547bf84b..172eb5b1736 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2010-10-08 Jonathan Wakely + + PR libstdc++/45403 + * python/libstdcxx/v6/printers.py: Check for lazy_string support. + 2010-10-08 Paolo Carlini * include/std/future (uses_allocator,>): Add; diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py index 5333c57634f..bf3689bb707 100644 --- a/libstdc++-v3/python/libstdcxx/v6/printers.py +++ b/libstdc++-v3/python/libstdcxx/v6/printers.py @@ -580,7 +580,9 @@ class StdStringPrinter: reptype = gdb.lookup_type (str (realtype) + '::_Rep').pointer () header = ptr.cast(reptype) - 1 len = header.dereference ()['_M_length'] - return self.val['_M_dataplus']['_M_p'].lazy_string (length = len) + if hasattr(ptr, "lazy_string"): + return ptr.lazy_string (length = len) + return ptr.string (length = len) def display_hint (self): return 'string'