PR libstdc++/86112 fix printers for Python 2.6
authorJonathan Wakely <jwakely@redhat.com>
Mon, 25 Jun 2018 21:03:49 +0000 (22:03 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Mon, 25 Jun 2018 21:03:49 +0000 (22:03 +0100)
Dict comprehensions are only supported since Python 2.7, so use an
alternative syntax that is backwards compatible.

PR libstdc++/86112
* python/libstdcxx/v6/printers.py (add_one_template_type_printer):
Replace dict comprehension.

From-SVN: r262115

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

index 288a929c8d2cf1c049da46ede6c69949b4661b6b..eb79e8172b94cea196126c9661ff72b37f150339 100644 (file)
@@ -1,5 +1,9 @@
 2018-06-25  Jonathan Wakely  <jwakely@redhat.com>
 
+       PR libstdc++/86112
+       * python/libstdcxx/v6/printers.py (add_one_template_type_printer):
+       Replace dict comprehension.
+
        PR libstdc++/81092
        * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
 
index 45aaa1211ec180158cec33a7b3a64c6d6f608109..34d8b4e660653f1bf7533a49b96e84b8ec4b5238 100644 (file)
@@ -1438,7 +1438,8 @@ def add_one_template_type_printer(obj, name, defargs):
     if _versioned_namespace:
         # Add second type printer for same type in versioned namespace:
         ns = 'std::' + _versioned_namespace
-        defargs = { n: d.replace('std::', ns) for n,d in defargs.items() }
+        # PR 86112 Cannot use dict comprehension here:
+        defargs = dict((n, d.replace('std::', ns)) for (n,d) in defargs.items())
         printer = TemplateTypePrinter(ns+name, defargs)
         gdb.types.register_type_printer(obj, printer)