https://github.com/python/cpython/commit/bf852943947afd8b89f88c0469530de36c8cc1cd
commit: bf852943947afd8b89f88c0469530de36c8cc1cd
branch: 3.14
author: Miss Islington (bot) <[email protected]>
committer: iritkatriel <[email protected]>
date: 2026-08-29T12:42:26Z
summary:

[3.14] gh-156466: Fix additional compiler scope cleanup errors (GH-156547) 
(#156572)

gh-156466: Fix additional compiler scope cleanup errors (GH-156547)
(cherry picked from commit f4874f381c1ef9a3e0e17fde870f2d38d89e043b)

Co-authored-by: Jelle Zijlstra <[email protected]>

files:
M Python/codegen.c
M Python/compile.c

diff --git a/Python/codegen.c b/Python/codegen.c
index 9649bad4b3dd09..18c1fd9fa127ce 100644
--- a/Python/codegen.c
+++ b/Python/codegen.c
@@ -1563,7 +1563,7 @@ codegen_class_body(compiler *c, stmt_ty s, int 
firstlineno)
         ADDOP_N_IN_SCOPE(c, loc, STORE_DEREF, &_Py_ID(__classdict__), 
cellvars);
     }
     if (SYMTABLE_ENTRY(c)->ste_has_conditional_annotations) {
-        ADDOP_I(c, loc, BUILD_SET, 0);
+        ADDOP_I_IN_SCOPE(c, loc, BUILD_SET, 0);
         ADDOP_N_IN_SCOPE(c, loc, STORE_DEREF, 
&_Py_ID(__conditional_annotations__), cellvars);
     }
     /* compile the body proper */
diff --git a/Python/compile.c b/Python/compile.c
index 6c5ef5329ffc3a..aa0d1b0ed31374 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1687,7 +1687,9 @@ _PyCompile_CodeGen(PyObject *ast, PyObject *filename, 
PyCompilerFlags *pflags,
 finally:
     Py_XDECREF(consts_list);
     Py_XDECREF(metadata);
-    _PyCompile_ExitScope(c);
+    if (c->u != NULL) {
+        _PyCompile_ExitScope(c);
+    }
     compiler_free(c);
     _PyArena_Free(arena);
     return res;

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to