Ignore empty ensure clause.

This commit is contained in:
Yukihiro "Matz" Matsumoto
2017-02-28 11:51:17 +09:00
parent fb3243e096
commit dc56bbecc8
+6 -1
View File
@@ -1360,7 +1360,9 @@ codegen(codegen_scope *s, node *tree, int val)
break;
case NODE_ENSURE:
{
if (!tree->cdr || !tree->cdr->cdr ||
((intptr_t)tree->cdr->cdr->car == NODE_BEGIN &&
tree->cdr->cdr->cdr)) {
int idx;
int epush = s->pc;
@@ -1372,6 +1374,9 @@ codegen(codegen_scope *s, node *tree, int val)
s->ensure_level--;
genop_peep(s, MKOP_A(OP_EPOP, 1), NOVAL);
}
else { /* empty ensure ignored */
codegen(s, tree->car, val);
}
break;
case NODE_LAMBDA: