bpo-44297: Fix missing line number in generator expressions (GH-26821)

* Make sure that line number is set when entering comprehension scope in compiler.

(cherry picked from commit 82e5c28af7049c4f5343c808f172cbe2e145f49b)
diff --git a/Lib/test/test_compile.py b/Lib/test/test_compile.py
index ea8ae22..6dc1c38 100644
--- a/Lib/test/test_compile.py
+++ b/Lib/test/test_compile.py
@@ -895,6 +895,21 @@ def aug_store_attr():
                               for (_, _, line) in func.__code__.co_lines() ]
                 self.assertEqual(lines, code_lines)
 
+    def test_line_number_genexp(self):
+
+        def return_genexp():
+            return (1
+                    for
+                    x
+                    in
+                    y)
+        genexp_lines = [None, 1, 3, 1]
+
+        genexp_code = return_genexp.__code__.co_consts[1]
+        code_lines = [None if line is None else line-return_genexp.__code__.co_firstlineno
+                      for (_, _, line) in genexp_code.co_lines() ]
+        self.assertEqual(genexp_lines, code_lines)
+
 
     def test_big_dict_literal(self):
         # The compiler has a flushing point in "compiler_dict" that calls compiles