--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: libstdc++6-4.8-dbg: arch-dependent file in "Multi-Arch: same" package
- From: Jakub Wilk <jwilk@debian.org>
- Date: Thu, 20 Feb 2014 00:07:38 +0100
- Message-id: <20140219230737.GA7448@jwilk.net>
Package: libstdc++6-4.8-dbg
Version: 4.8.2-16
Severity: important
User: multiarch-devel@lists.alioth.debian.org
Usertags: multiarch
libstdc++6-4.8-dbg is marked as "Multi-Arch: same", but the following
file is architecture-dependent:
/usr/share/gcc-4.8/python/libstdcxx/v6/printers.py
An example diff between i386 and amd64 is attached.
--
Jakub Wilk
diff -ur libstdc++6-4.8-dbg_4.8.2-16_i386/usr/share/gcc-4.8/python/libstdcxx/v6/printers.py libstdc++6-4.8-dbg_4.8.2-16_amd64/usr/share/gcc-4.8/python/libstdcxx/v6/printers.py
--- libstdc++6-4.8-dbg_4.8.2-16_i386/usr/share/gcc-4.8/python/libstdcxx/v6/printers.py 2014-02-19 10:07:54.000000000 +0100
+++ libstdc++6-4.8-dbg_4.8.2-16_amd64/usr/share/gcc-4.8/python/libstdcxx/v6/printers.py 2014-02-18 00:15:37.000000000 +0100
@@ -51,7 +51,7 @@
# anything fancier here.
field = typ.fields()[0]
if not field.is_base_class:
- raise ValueError, "Cannot find type %s::%s" % (str(orig), name)
+ raise ValueError("Cannot find type %s::%s" % (str(orig), name))
typ = field.type
class SharedPointerPrinter:
@@ -97,7 +97,7 @@
def __iter__(self):
return self
- def next(self):
+ def __next__(self):
if self.base == self.head:
raise StopIteration
elt = self.base.cast(self.nodetype).dereference()
@@ -144,7 +144,7 @@
def __iter__(self):
return self
- def next(self):
+ def __next__(self):
if self.base == 0:
raise StopIteration
elt = self.base.cast(self.nodetype).dereference()
@@ -198,7 +198,7 @@
def __iter__(self):
return self
- def next(self):
+ def __next__(self):
count = self.count
self.count = self.count + 1
if self.bitvec:
@@ -276,20 +276,20 @@
# 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."
+ raise ValueError("Top of tuple tree does not consist of a single node.")
self.count = 0
def __iter__ (self):
return self
- def next (self):
+ def __next__ (self):
nodes = self.head.type.fields ()
# Check for further recursions in the inheritance tree.
if len (nodes) == 0:
raise StopIteration
# Check that this iteration has an expected structure.
if len (nodes) != 2:
- raise ValueError, "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.
# - Right node is the actual class contained in the tuple.
@@ -353,7 +353,7 @@
def __len__(self):
return int (self.size)
- def next(self):
+ def __next__(self):
if self.count == self.size:
raise StopIteration
result = self.node
@@ -414,9 +414,9 @@
def __iter__(self):
return self
- def next(self):
+ def __next__(self):
if self.count % 2 == 0:
- n = self.rbiter.next()
+ n = next(self.rbiter)
n = n.cast(self.type).dereference()['_M_value_field']
self.pair = n
item = n['first']
@@ -456,8 +456,8 @@
def __iter__(self):
return self
- def next(self):
- item = self.rbiter.next()
+ def __next__(self):
+ item = next(self.rbiter)
item = item.cast(self.type).dereference()['_M_value_field']
# FIXME: this is weird ... what to do?
# Maybe a 'set' display hint?
@@ -534,7 +534,7 @@
def __iter__(self):
return self
- def next(self):
+ def __next__(self):
if self.p == self.last:
raise StopIteration
@@ -572,7 +572,7 @@
size = self.buffer_size * delta_n + delta_s + delta_e
- return '%s with %d elements' % (self.typename, long (size))
+ return '%s with %d elements' % (self.typename, int (size))
def children(self):
start = self.val['_M_impl']['_M_start']
@@ -627,7 +627,7 @@
def __iter__ (self):
return self
- def next (self):
+ def __next__ (self):
if self.node == 0:
raise StopIteration
node = self.node.cast(self.node_type)
@@ -655,8 +655,8 @@
return '[%d]' % i
def children (self):
- counter = itertools.imap (self.format_count, itertools.count())
- return itertools.izip (counter, Tr1HashtableIterator (self.hashtable()))
+ counter = map (self.format_count, itertools.count())
+ return zip (counter, Tr1HashtableIterator (self.hashtable()))
class Tr1UnorderedMapPrinter:
"Print a tr1::unordered_map"
@@ -688,11 +688,11 @@
return '[%d]' % i
def children (self):
- counter = itertools.imap (self.format_count, itertools.count())
+ counter = map (self.format_count, itertools.count())
# Map over the hash table and flatten the result.
- data = self.flatten (itertools.imap (self.format_one, Tr1HashtableIterator (self.hashtable())))
+ data = self.flatten (map (self.format_one, Tr1HashtableIterator (self.hashtable())))
# Zip the two iterators together.
- return itertools.izip (counter, data)
+ return zip (counter, data)
def display_hint (self):
return 'map'
@@ -709,7 +709,7 @@
def __iter__(self):
return self
- def next(self):
+ def __next__(self):
if self.base == 0:
raise StopIteration
elt = self.base.cast(self.nodetype).dereference()
@@ -764,7 +764,7 @@
# A small sanity check.
# FIXME
if not self.compiled_rx.match(name + '<>'):
- raise ValueError, 'libstdc++ programming error: "%s" does not match' % name
+ raise ValueError('libstdc++ programming error: "%s" does not match' % name)
printer = RxPrinter(name, function)
self.subprinters.append(printer)
self.lookup[name] = printer
--- End Message ---