mirror of
https://github.com/python/cpython.git
synced 2025-08-24 18:55:00 +00:00
bpo-42823: Fix frame lineno when frame.f_trace is set (GH-24099)
* Add test for frame.f_lineno with/without tracing. * Make sure that frame.f_lineno is correct regardless of whether frame.f_trace is set. * Update importlib * Add NEWS
This commit is contained in:
parent
e40e2a2cc9
commit
ee9f98d9f4
8 changed files with 1182 additions and 1159 deletions
|
@ -6558,6 +6558,12 @@ ensure_exits_have_lineno(struct compiler *c)
|
|||
if (is_exit_without_lineno(entry)) {
|
||||
entry->b_instr[0].i_lineno = c->u->u_firstlineno;
|
||||
}
|
||||
/* Eliminate empty blocks */
|
||||
for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) {
|
||||
while (b->b_next && b->b_next->b_iused == 0) {
|
||||
b->b_next = b->b_next->b_next;
|
||||
}
|
||||
}
|
||||
/* Any remaining reachable exit blocks without line number can only be reached by
|
||||
* fall through, and thus can only have a single predecessor */
|
||||
for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue