https://github.com/python/cpython/commit/f4874f381c1ef9a3e0e17fde870f2d38d89e043b
commit: f4874f381c1ef9a3e0e17fde870f2d38d89e043b
branch: main
author: Jelle Zijlstra <[email protected]>
committer: iritkatriel <[email protected]>
date: 2026-08-29T13:14:29+01:00
summary:
gh-156466: Fix additional compiler scope cleanup errors (#156547)
files:
M Python/codegen.c
M Python/compile.c
diff --git a/Python/codegen.c b/Python/codegen.c
index b3e9488b0236fb..7eb96f08c84d7f 100644
--- a/Python/codegen.c
+++ b/Python/codegen.c
@@ -1634,7 +1634,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 fefb2b04b78db8..2717037a988ec7 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1735,7 +1735,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]