mirror of git://gcc.gnu.org/git/gcc.git
printers.py (StdStringPrinter.__init__): Remove encoding argument.
2010-01-15 Phil Muldoon <pmuldoon@redhat.com> * python/libstdcxx/v6/printers.py (StdStringPrinter.__init__): Remove encoding argument. (StdStringPrinter.to_string): Do not compute or pass encoding. Use lazy_string over string function. --this line, and those below, will be ignored-- M libstdc++-v3/python/libstdcxx/v6/printers.py M libstdc++-v3/ChangeLog From-SVN: r155951
This commit is contained in:
parent
4a62494df2
commit
852e2c40de
|
@ -1,3 +1,10 @@
|
||||||
|
2010-01-15 Phil Muldoon <pmuldoon@redhat.com>
|
||||||
|
|
||||||
|
* python/libstdcxx/v6/printers.py (StdStringPrinter.__init__):
|
||||||
|
Remove encoding argument.
|
||||||
|
(StdStringPrinter.to_string): Do not compute or pass encoding.
|
||||||
|
Use lazy_string over string function.
|
||||||
|
|
||||||
2010-01-14 Paolo Carlini <paolo.carlini@oracle.com>
|
2010-01-14 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
* include/c_std/cstring (memchr): Forward to the builtin.
|
* include/c_std/cstring (memchr): Forward to the builtin.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Pretty-printers for libstc++.
|
# Pretty-printers for libstc++.
|
||||||
|
|
||||||
# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
|
# Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -529,18 +529,10 @@ class StdDequeIteratorPrinter:
|
||||||
class StdStringPrinter:
|
class StdStringPrinter:
|
||||||
"Print a std::basic_string of some kind"
|
"Print a std::basic_string of some kind"
|
||||||
|
|
||||||
def __init__(self, encoding, val):
|
def __init__(self, val):
|
||||||
self.encoding = encoding
|
|
||||||
self.val = val
|
self.val = val
|
||||||
|
|
||||||
def to_string(self):
|
def to_string(self):
|
||||||
# Look up the target encoding as late as possible.
|
|
||||||
encoding = self.encoding
|
|
||||||
if encoding == 0:
|
|
||||||
encoding = gdb.parameter('target-charset')
|
|
||||||
elif encoding == 1:
|
|
||||||
encoding = gdb.parameter('target-wide-charset')
|
|
||||||
|
|
||||||
# Make sure &string works, too.
|
# Make sure &string works, too.
|
||||||
type = self.val.type
|
type = self.val.type
|
||||||
if type.code == gdb.TYPE_CODE_REF:
|
if type.code == gdb.TYPE_CODE_REF:
|
||||||
|
@ -554,7 +546,7 @@ class StdStringPrinter:
|
||||||
reptype = gdb.lookup_type (str (realtype) + '::_Rep').pointer ()
|
reptype = gdb.lookup_type (str (realtype) + '::_Rep').pointer ()
|
||||||
header = ptr.cast(reptype) - 1
|
header = ptr.cast(reptype) - 1
|
||||||
len = header.dereference ()['_M_length']
|
len = header.dereference ()['_M_length']
|
||||||
return self.val['_M_dataplus']['_M_p'].string (encoding, length = len)
|
return self.val['_M_dataplus']['_M_p'].lazy_string (length = len)
|
||||||
|
|
||||||
def display_hint (self):
|
def display_hint (self):
|
||||||
return 'string'
|
return 'string'
|
||||||
|
@ -687,10 +679,7 @@ def build_libstdcxx_dictionary ():
|
||||||
# libstdc++ objects requiring pretty-printing.
|
# libstdc++ objects requiring pretty-printing.
|
||||||
# In order from:
|
# In order from:
|
||||||
# http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01847.html
|
# http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01847.html
|
||||||
pretty_printers_dict[re.compile('^std::basic_string<char(,.*)?>$')] = lambda val: StdStringPrinter(0, val)
|
pretty_printers_dict[re.compile('^std::basic_string<.*>$')] = lambda val: StdStringPrinter(val)
|
||||||
pretty_printers_dict[re.compile('^std::basic_string<wchar_t(,.*)?>$')] = lambda val: StdStringPrinter(1, val)
|
|
||||||
pretty_printers_dict[re.compile('^std::basic_string<char16_t(,.*)?>$')] = lambda val: StdStringPrinter('UTF-16', val)
|
|
||||||
pretty_printers_dict[re.compile('^std::basic_string<char32_t(,.*)?>$')] = lambda val: StdStringPrinter('UTF-32', val)
|
|
||||||
pretty_printers_dict[re.compile('^std::bitset<.*>$')] = lambda val: StdBitsetPrinter("std::bitset", val)
|
pretty_printers_dict[re.compile('^std::bitset<.*>$')] = lambda val: StdBitsetPrinter("std::bitset", val)
|
||||||
pretty_printers_dict[re.compile('^std::deque<.*>$')] = lambda val: StdDequePrinter("std::deque", val)
|
pretty_printers_dict[re.compile('^std::deque<.*>$')] = lambda val: StdDequePrinter("std::deque", val)
|
||||||
pretty_printers_dict[re.compile('^std::list<.*>$')] = lambda val: StdListPrinter("std::list", val)
|
pretty_printers_dict[re.compile('^std::list<.*>$')] = lambda val: StdListPrinter("std::list", val)
|
||||||
|
|
Loading…
Reference in New Issue