mirror of
https://github.com/python/cpython.git
synced 2025-08-30 21:48:47 +00:00
bpo-44616: Mark all clean up instructions at end of named exception block as artificial (GH-27109)
This commit is contained in:
parent
f572cbf1fa
commit
e5862f79c1
3 changed files with 27 additions and 5 deletions
|
@ -3312,11 +3312,11 @@ 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);
|
||||
/* name = None; del name; # Mark as artificial */
|
||||
UNSET_LOC(c);
|
||||
ADDOP(c, POP_BLOCK);
|
||||
ADDOP(c, POP_BLOCK);
|
||||
ADDOP(c, POP_EXCEPT);
|
||||
/* name = None; del name; # Mark as artificial */
|
||||
UNSET_LOC(c);
|
||||
ADDOP_LOAD_CONST(c, Py_None);
|
||||
compiler_nameop(c, handler->v.ExceptHandler.name, Store);
|
||||
compiler_nameop(c, handler->v.ExceptHandler.name, Del);
|
||||
|
@ -3348,7 +3348,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 */
|
||||
UNSET_LOC(c);
|
||||
ADDOP(c, POP_BLOCK);
|
||||
ADDOP(c, POP_EXCEPT);
|
||||
|
|
|
@ -1403,8 +1403,8 @@ const unsigned char _Py_M__zipimport[] = {
|
|||
23,35,13,20,20,29,30,34,30,42,44,53,20,54,13,17,
|
||||
20,24,13,17,16,26,13,54,17,39,28,43,44,48,50,57,
|
||||
59,67,69,77,79,83,28,84,21,25,21,25,0,0,17,39,
|
||||
24,35,17,39,17,39,17,39,17,39,36,39,21,33,21,39,
|
||||
21,39,21,39,21,39,21,39,0,0,0,0,0,0,0,0,
|
||||
24,35,17,39,17,39,17,39,17,39,36,39,21,33,21,33,
|
||||
21,33,21,33,21,33,21,33,0,0,0,0,0,0,0,0,
|
||||
0,0,24,39,40,47,49,53,24,54,17,21,16,20,24,28,
|
||||
16,28,13,25,17,25,23,32,33,34,23,35,13,20,20,24,
|
||||
26,35,37,44,20,44,13,44,13,44,13,44,12,24,9,83,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue