From dc35cda2de9888f78218fd5207f516ceec0d4e82 Mon Sep 17 00:00:00 2001 From: Ned Deily Date: Wed, 17 Aug 2016 17:18:33 -0400 Subject: Issue #27594: Prevent assertion error when running test_ast with coverage enabled: ensure code object has a valid first line number. Patch suggested by Ivan Levkivskyi. --- Misc/NEWS | 4 ++++ Python/compile.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Misc/NEWS b/Misc/NEWS index c06539b..efa0f76 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -167,6 +167,10 @@ Tests - Issue #27369: In test_pyexpat, avoid testing an error message detail that changed in Expat 2.2.0. +- Issue #27594: Prevent assertion error when running test_ast with coverage + enabled: ensure code object has a valid first line number. + Patch suggested by Ivan Levkivskyi. + Windows ------- diff --git a/Python/compile.c b/Python/compile.c index e46676c..fb80f51 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -4963,7 +4963,7 @@ assemble(struct compiler *c, int addNone) /* Set firstlineno if it wasn't explicitly set. */ if (!c->u->u_firstlineno) { - if (entryblock && entryblock->b_instr) + if (entryblock && entryblock->b_instr && entryblock->b_instr->i_lineno) c->u->u_firstlineno = entryblock->b_instr->i_lineno; else c->u->u_firstlineno = 1; -- cgit v0.12