diff options
author | Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com> | 2022-05-12 15:31:43 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-12 15:31:43 (GMT) |
commit | a24e67697362e76dd25d6901109277458b5971b9 (patch) | |
tree | 48fc18f93bb4981fc67136ef222bd4d601a8ae16 /Objects/frameobject.c | |
parent | 5d62759f98e82625277f46ea86a1a29b07b8ffe1 (diff) | |
download | cpython-a24e67697362e76dd25d6901109277458b5971b9.zip cpython-a24e67697362e76dd25d6901109277458b5971b9.tar.gz cpython-a24e67697362e76dd25d6901109277458b5971b9.tar.bz2 |
[3.10] gh-92311: Let frame_setlineno jump over listcomps (GH-92717)
Diffstat (limited to 'Objects/frameobject.c')
-rw-r--r-- | Objects/frameobject.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Objects/frameobject.c b/Objects/frameobject.c index d02cf9d..be84d33 100644 --- a/Objects/frameobject.c +++ b/Objects/frameobject.c @@ -195,7 +195,10 @@ markblocks(PyCodeObject *code_obj, int len) break; case GET_ITER: case GET_AITER: - block_stack = push_block(block_stack, Loop); + // For-loops get a Loop block, but comprehensions do not. + if (_Py_OPCODE(code[i + 1]) != CALL_FUNCTION) { + block_stack = push_block(block_stack, Loop); + } blocks[i+1] = block_stack; break; case FOR_ITER: |