diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 59e4d369595ae..95940e2bce012 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -5408,6 +5408,9 @@ static void zend_compile_if(zend_ast *ast) /* {{{ */ zend_compile_stmt(stmt_ast); if (i != list->children - 1) { + /* Set the lineno of JMP to the position of the if keyword, as we don't want to + * report the last line in the if branch as covered if it hasn't actually executed. */ + CG(zend_lineno) = elem_ast->lineno; jmp_opnums[i] = zend_emit_jump(0); } zend_update_jump_target_to_next(opnum_jmpz);