diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-01-12 05:43:00 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-01-12 05:43:00 +0000 |
commit | 257fd90166f62943ff767e5cd7b0624c12074a8b (patch) | |
tree | 47b645d087c434771e89ff04093b03dcab4fb5e0 /compile.c | |
parent | 58935eb8bdad1a42ce35efd0e0b0a9d7d43df299 (diff) |
compile.c: invalid yield in main
* compile.c (iseq_compile_each): yield cannot be in the main
context as well as a top context.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r-- | compile.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -5530,7 +5530,8 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *const ret, NODE *node, int poppe struct rb_call_info_kw_arg *keywords = NULL; INIT_ANCHOR(args); - if (iseq->body->type == ISEQ_TYPE_TOP) { + if (iseq->body->type == ISEQ_TYPE_TOP || + iseq->body->type == ISEQ_TYPE_MAIN) { COMPILE_ERROR(ERROR_ARGS "Invalid yield"); goto ng; } |