Commit b2e894b5 by Matthias Klose Committed by Matthias Klose

printers.py: Don't use string exceptions.

2010-06-22  Matthias Klose  <doko@ubuntu.com>

        * python/libstdcxx/v6/printers.py: Don't use string exceptions.

From-SVN: r161233
parent 87867ff6
2010-06-22 Matthias Klose <doko@ubuntu.com>
* python/libstdcxx/v6/printers.py: Don't use string exceptions.
2010-06-22 Paolo Carlini <paolo.carlini@oracle.com> 2010-06-22 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/44630 PR libstdc++/44630
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import gdb #import gdb
import itertools import itertools
import re import re
...@@ -77,6 +77,7 @@ class StdListPrinter: ...@@ -77,6 +77,7 @@ class StdListPrinter:
elif self.typename == "std::__debug::list": elif self.typename == "std::__debug::list":
nodetype = gdb.lookup_type('std::__norm::_List_node<%s>' % itype).pointer() nodetype = gdb.lookup_type('std::__norm::_List_node<%s>' % itype).pointer()
else: else:
#raise ValueError, "Cannot cast list node for list printer."
raise "Cannot cast list node for list printer." raise "Cannot cast list node for list printer."
return self._iterator(nodetype, self.val['_M_impl']['_M_node']) return self._iterator(nodetype, self.val['_M_impl']['_M_node'])
...@@ -101,7 +102,7 @@ class StdListIteratorPrinter: ...@@ -101,7 +102,7 @@ class StdListIteratorPrinter:
elif self.typename == "std::__norm::_List_iterator" or self.typename == "std::__norm::_List_const_iterator": elif self.typename == "std::__norm::_List_iterator" or self.typename == "std::__norm::_List_const_iterator":
nodetype = gdb.lookup_type('std::__norm::_List_node<%s>' % itype).pointer() nodetype = gdb.lookup_type('std::__norm::_List_node<%s>' % itype).pointer()
else: else:
raise "Cannot cast list node for list iterator printer." raise ValueError, "Cannot cast list node for list iterator printer."
return self.val['_M_node'].cast(nodetype).dereference()['_M_data'] return self.val['_M_node'].cast(nodetype).dereference()['_M_data']
class StdSlistPrinter: class StdSlistPrinter:
...@@ -208,7 +209,7 @@ class StdTuplePrinter: ...@@ -208,7 +209,7 @@ class StdTuplePrinter:
# tuple. # tuple.
nodes = self.head.type.fields () nodes = self.head.type.fields ()
if len (nodes) != 1: if len (nodes) != 1:
raise "Top of tuple tree does not consist of a single node." raise ValueError, "Top of tuple tree does not consist of a single node."
# Set the actual head to the first pair. # Set the actual head to the first pair.
self.head = self.head.cast (nodes[0].type) self.head = self.head.cast (nodes[0].type)
...@@ -224,7 +225,7 @@ class StdTuplePrinter: ...@@ -224,7 +225,7 @@ class StdTuplePrinter:
raise StopIteration raise StopIteration
# Check that this iteration has an expected structure. # Check that this iteration has an expected structure.
if len (nodes) != 2: if len (nodes) != 2:
raise "Cannot parse more than 2 nodes in a tuple tree." raise ValueError, "Cannot parse more than 2 nodes in a tuple tree."
# - Left node is the next recursion parent. # - Left node is the next recursion parent.
# - Right node is the actual class contained in the tuple. # - Right node is the actual class contained in the tuple.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment