Make sure that atoms (Tuple, List, etc.) have lineno attributes
diff --git a/Lib/compiler/transformer.py b/Lib/compiler/transformer.py
index 323aa20..6e82b10 100644
--- a/Lib/compiler/transformer.py
+++ b/Lib/compiler/transformer.py
@@ -99,7 +99,7 @@
     def transform(self, tree):
         """Transform an AST into a modified parse tree."""
         if type(tree) != type(()) and type(tree) != type([]):
-            tree = parser.ast2tuple(tree,1)
+            tree = parser.ast2tuple(tree, line_info=1)
         return self.compile_node(tree)
 
     def parsesuite(self, text):
@@ -657,7 +657,9 @@
         return node
 
     def atom(self, nodelist):
-        return self._atom_dispatch[nodelist[0][0]](nodelist)
+        n = self._atom_dispatch[nodelist[0][0]](nodelist)
+        n.lineno = nodelist[0][2]
+        return n
 
     def atom_lpar(self, nodelist):
         if nodelist[1][0] == token.RPAR:
diff --git a/Tools/compiler/compiler/transformer.py b/Tools/compiler/compiler/transformer.py
index 323aa20..6e82b10 100644
--- a/Tools/compiler/compiler/transformer.py
+++ b/Tools/compiler/compiler/transformer.py
@@ -99,7 +99,7 @@
     def transform(self, tree):
         """Transform an AST into a modified parse tree."""
         if type(tree) != type(()) and type(tree) != type([]):
-            tree = parser.ast2tuple(tree,1)
+            tree = parser.ast2tuple(tree, line_info=1)
         return self.compile_node(tree)
 
     def parsesuite(self, text):
@@ -657,7 +657,9 @@
         return node
 
     def atom(self, nodelist):
-        return self._atom_dispatch[nodelist[0][0]](nodelist)
+        n = self._atom_dispatch[nodelist[0][0]](nodelist)
+        n.lineno = nodelist[0][2]
+        return n
 
     def atom_lpar(self, nodelist):
         if nodelist[1][0] == token.RPAR: