diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2015-02-24 14:29:47 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2015-02-24 14:29:47 +0900 |
| commit | 68f60714dc54f0b040243428822213f5f1c0fc2b (patch) | |
| tree | fd3770e4e8dfb822043b428831d7bb2442972deb /src | |
| parent | d0bc006a739e5ee09ae00b09cda09902b1d71147 (diff) | |
| parent | 584d6de3c29cb2cfef79ff17ac12f17ace000391 (diff) | |
| download | mruby-68f60714dc54f0b040243428822213f5f1c0fc2b.tar.gz mruby-68f60714dc54f0b040243428822213f5f1c0fc2b.zip | |
Merge pull request #2729 from kou/fix-if-and-no-value-returned-case
Fix a bug that if and no return value case can't return true clause value
Diffstat (limited to 'src')
| -rw-r--r-- | src/codegen.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/codegen.c b/src/codegen.c index 46d457885..1fe26355f 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -1462,8 +1462,13 @@ codegen(codegen_scope *s, node *tree, int val) genop(s, MKOP_AB(OP_MOVE, cursp(), pos)); push(); } - else if (pos3) { - dispatch_linked(s, pos3); + else { + if (pos3) { + dispatch_linked(s, pos3); + } + if (head) { + pop(); + } } } break; |
