OSDN Git Service

PR libstdc++/48362
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Dec 2011 12:33:15 +0000 (12:33 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Dec 2011 12:33:15 +0000 (12:33 +0000)
* python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle empty
tuples.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182620 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/python/libstdcxx/v6/printers.py

index 8775d0a..687a1d4 100644 (file)
@@ -1,3 +1,9 @@
+2011-12-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/48362
+       * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle empty
+       tuples.
+
 2011-12-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
 
        PR libstdc++/51365
index 241ae04..4197c08 100644 (file)
@@ -251,11 +251,11 @@ class StdTuplePrinter:
             # Set the base class as the initial head of the
             # tuple.
             nodes = self.head.type.fields ()
-            if len (nodes) != 1:
+            if len (nodes) == 1:
+                # Set the actual head to the first pair.
+                self.head  = self.head.cast (nodes[0].type)
+            elif len (nodes) != 0:
                 raise ValueError, "Top of tuple tree does not consist of a single node."
-
-            # Set the actual head to the first pair.
-            self.head  = self.head.cast (nodes[0].type)
             self.count = 0
 
         def __iter__ (self):
@@ -297,6 +297,8 @@ class StdTuplePrinter:
         return self._iterator (self.val)
 
     def to_string (self):
+        if len (self.val.type.fields ()) == 0:
+            return 'empty %s' % (self.typename)
         return '%s containing' % (self.typename)
 
 class StdStackOrQueuePrinter: