From 794ff7d505f852dc4e0f94901dc7387afaead3bb Mon Sep 17 00:00:00 2001 From: Mark Shannon Date: Wed, 14 Jul 2021 11:43:56 +0100 Subject: bpo-44616: Mark all clean up instructions at end of named exception block as artificial (GH-27109) (GH-27135) (cherry picked from commit e5862f79c16e28f1ec51d179698739a9b2d8c1d2) --- Python/compile.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'Python/compile.c') diff --git a/Python/compile.c b/Python/compile.c index 7dc04923af..78d5fbe03f 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -3220,10 +3220,10 @@ compiler_try_except(struct compiler *c, stmt_ty s) /* second # body */ VISIT_SEQ(c, stmt, handler->v.ExceptHandler.body); compiler_pop_fblock(c, HANDLER_CLEANUP, cleanup_body); - ADDOP(c, POP_BLOCK); - ADDOP(c, POP_EXCEPT); /* name = None; del name; # Mark as artificial */ c->u->u_lineno = -1; + ADDOP(c, POP_BLOCK); + ADDOP(c, POP_EXCEPT); ADDOP_LOAD_CONST(c, Py_None); compiler_nameop(c, handler->v.ExceptHandler.name, Store); compiler_nameop(c, handler->v.ExceptHandler.name, Del); @@ -3254,7 +3254,6 @@ compiler_try_except(struct compiler *c, stmt_ty s) return 0; VISIT_SEQ(c, stmt, handler->v.ExceptHandler.body); compiler_pop_fblock(c, HANDLER_CLEANUP, cleanup_body); - /* name = None; del name; # Mark as artificial */ c->u->u_lineno = -1; ADDOP(c, POP_EXCEPT); ADDOP_JUMP(c, JUMP_FORWARD, end); -- cgit v1.2.1