mirror of
https://github.com/python/cpython.git
synced 2025-08-01 07:33:08 +00:00
Bug #1512814, Fix incorrect lineno's when code at module scope
started after line 256.
This commit is contained in:
parent
28746aba9b
commit
ed65755608
3 changed files with 22 additions and 1 deletions
|
@ -1776,7 +1776,8 @@ compiler_mod(struct compiler *c, mod_ty mod)
|
|||
if (!module)
|
||||
return NULL;
|
||||
}
|
||||
if (!compiler_enter_scope(c, module, mod, 1))
|
||||
/* Use 0 for firstlineno initially, will fixup in assemble(). */
|
||||
if (!compiler_enter_scope(c, module, mod, 0))
|
||||
return NULL;
|
||||
switch (mod->kind) {
|
||||
case Module_kind:
|
||||
|
@ -4446,6 +4447,13 @@ assemble(struct compiler *c, int addNone)
|
|||
entryblock = b;
|
||||
}
|
||||
|
||||
/* Set firstlineno if it wasn't explicitly set. */
|
||||
if (!c->u->u_firstlineno) {
|
||||
if (entryblock && entryblock->b_instr)
|
||||
c->u->u_firstlineno = entryblock->b_instr->i_lineno;
|
||||
else
|
||||
c->u->u_firstlineno = 1;
|
||||
}
|
||||
if (!assemble_init(&a, nblocks, c->u->u_firstlineno))
|
||||
goto error;
|
||||
dfs(c, entryblock, &a);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue