diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2000-02-25 20:48:13 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2000-02-25 20:48:13 +0000 |
commit | d6b6943a97c6558b9dac96a87ed59af4004a298e (patch) | |
tree | 3645966f385902fc37bd80e1b37eb14d54d0092c /op.c | |
parent | f70ca6c83cb72c40e99a32a277d84b67546a860f (diff) | |
parent | b46bc2b69fd0825253e7e513bb1c568567aa6ab0 (diff) | |
download | perl-d6b6943a97c6558b9dac96a87ed59af4004a298e.tar.gz |
Integrate with Sarathy.
p4raw-id: //depot/cfgperl@5257
Diffstat (limited to 'op.c')
-rw-r--r-- | op.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -3764,6 +3764,7 @@ Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP *loop, I32 whileline, OP * OP *listop; OP *o; OP *condop; + U8 loopflags = 0; if (expr && (expr->op_type == OP_READLINE || expr->op_type == OP_GLOB || (expr->op_type == OP_NULL && expr->op_targ == OP_GLOB))) { @@ -3796,8 +3797,10 @@ Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP *loop, I32 whileline, OP * block = scope(block); } - if (cont) + if (cont) { next = LINKLIST(cont); + loopflags |= OPpLOOP_CONTINUE; + } if (expr) { cont = append_elem(OP_LINESEQ, cont, newOP(OP_UNSTACK, 0)); if ((line_t)whileline != NOLINE) { @@ -3840,6 +3843,7 @@ Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP *loop, I32 whileline, OP * loop->op_redoop = redo; loop->op_lastop = o; + o->op_private |= loopflags; if (next) loop->op_nextop = next; |