]> granicus.if.org Git - python/commitdiff
Revert compile.c changes that shouldn't have been included in previous checkin
authorNick Coghlan <ncoghlan@gmail.com>
Sat, 25 Aug 2007 04:35:54 +0000 (04:35 +0000)
committerNick Coghlan <ncoghlan@gmail.com>
Sat, 25 Aug 2007 04:35:54 +0000 (04:35 +0000)
Python/compile.c

index cb6555ed38406a2ad8d7aeab9ca83f425dc803a1..eed13792d288fa5e0173f08790ca12c8623af112 100644 (file)
@@ -1616,14 +1616,10 @@ compiler_while(struct compiler *c, stmt_ty s)
                orelse = NULL;
 
        ADDOP_JREL(c, SETUP_LOOP, end);
+       compiler_use_next_block(c, loop);
        if (!compiler_push_fblock(c, LOOP, loop))
                return 0;
-       compiler_use_next_block(c, loop);
        if (constant == -1) {
-               /* XXX(ncoghlan): SF bug #1750076
-                  Use same special casing as is used in for loops
-                  A test case for this would be nice... */
-               c->u->u_lineno_set = false;
                VISIT(c, expr, s->v.While.test);
                ADDOP_JREL(c, JUMP_IF_FALSE, anchor);
                ADDOP(c, POP_TOP);
@@ -3525,8 +3521,7 @@ assemble_lnotab(struct assembler *a, struct instr *i)
        /* XXX(nnorwitz): is there a better way to handle this?
           for loops are special, we want to be able to trace them
           each time around, so we need to set an extra line number. */
-       /* XXX(ncoghlan): while loops need this too */
-       if (d_lineno == 0)
+       if (d_lineno == 0 && i->i_opcode != FOR_ITER)
                return 1;
 
        if (d_bytecode > 255) {