From 749404051cadf750a37919c24550a6f9da44c2e5 Mon Sep 17 00:00:00 2001 From: Masamitsu MURASE Date: Sun, 6 Jan 2013 05:08:04 +0900 Subject: Modify NODE_IF handling. When "unless" is used without "else", tree->cdr->car of NODE_IF is NULL. In this case, pop() should not be called because codegen generates no code. --- src/codegen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/codegen.c b/src/codegen.c index ffa13d647..0451bb996 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -1100,7 +1100,7 @@ codegen(codegen_scope *s, node *tree, int val) codegen(s, tree->cdr->car, val); if (e) { - if (val) pop(); + if (val && tree->cdr->car) pop(); pos2 = new_label(s); genop(s, MKOP_sBx(OP_JMP, 0)); dispatch(s, pos1); -- cgit v1.2.3