diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-24 17:41:29 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-24 17:41:29 +0000 |
commit | 105e00bdd797fa6699919e3d34edf57428be3c6e (patch) | |
tree | f855ebba882f306972fc857b06ca12da09df3722 /compile.c | |
parent | fda0ef6f04fb7cb164bb4409734a1506fd257d78 (diff) | |
download | ruby-105e00bdd797fa6699919e3d34edf57428be3c6e.tar.gz |
* compile.c (iseq_compile_each): add a "pop" insn after break
to fix stack consistency error. [ruby-core:14385]
* bootstraptest/test_syntax.rb: add tests for above.
* bootstraptest/test_knownbug.rb: remove fixed bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r-- | compile.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -2928,6 +2928,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) iseq->compile_data->loopval_popped); ADD_INSNL(ret, nd_line(node), jump, iseq->compile_data->end_label); + ADD_INSN(ret, nd_line(node), pop); } else if (iseq->type == ISEQ_TYPE_BLOCK) { break_by_insn: |