Revert compile.c changes that shouldn't have been included in previous checkin

This commit is contained in:
Nick Coghlan 2007-08-25 04:35:54 +00:00
parent 3af0e785e7
commit b90f52e932

View file

@ -1616,14 +1616,10 @@ compiler_while(struct compiler *c, stmt_ty s)
orelse = NULL; orelse = NULL;
ADDOP_JREL(c, SETUP_LOOP, end); ADDOP_JREL(c, SETUP_LOOP, end);
compiler_use_next_block(c, loop);
if (!compiler_push_fblock(c, LOOP, loop)) if (!compiler_push_fblock(c, LOOP, loop))
return 0; return 0;
compiler_use_next_block(c, loop);
if (constant == -1) { 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); VISIT(c, expr, s->v.While.test);
ADDOP_JREL(c, JUMP_IF_FALSE, anchor); ADDOP_JREL(c, JUMP_IF_FALSE, anchor);
ADDOP(c, POP_TOP); 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? /* XXX(nnorwitz): is there a better way to handle this?
for loops are special, we want to be able to trace them for loops are special, we want to be able to trace them
each time around, so we need to set an extra line number. */ each time around, so we need to set an extra line number. */
/* XXX(ncoghlan): while loops need this too */ if (d_lineno == 0 && i->i_opcode != FOR_ITER)
if (d_lineno == 0)
return 1; return 1;
if (d_bytecode > 255) { if (d_bytecode > 255) {