Issue #7092: Fix the DeprecationWarnings emitted by the standard library
when using the -3 flag.  Patch by Florent Xicluna.
diff --git a/Tools/compiler/astgen.py b/Tools/compiler/astgen.py
index c431d22..1724276 100644
--- a/Tools/compiler/astgen.py
+++ b/Tools/compiler/astgen.py
@@ -105,12 +105,18 @@
 
     def _gen_init(self, buf):
         if self.args:
-            print >> buf, "    def __init__(self, %s, lineno=None):" % self.args
+            argtuple = '(' in self.args
+            args = self.args if not argtuple else ''.join(self.argnames)
+            print >> buf, "    def __init__(self, %s, lineno=None):" % args
         else:
             print >> buf, "    def __init__(self, lineno=None):"
         if self.argnames:
-            for name in self.argnames:
-                print >> buf, "        self.%s = %s" % (name, name)
+            if argtuple:
+                for idx, name in enumerate(self.argnames):
+                    print >> buf, "        self.%s = %s[%s]" % (name, args, idx)
+            else:
+                for name in self.argnames:
+                    print >> buf, "        self.%s = %s" % (name, name)
         print >> buf, "        self.lineno = lineno"
         # Copy the lines in self.init, indented four spaces.  The rstrip()
         # business is to get rid of the four spaces if line happens to be