summary refs log tree commit diff stats
path: root/compiler/vmgen.nim
diff options
context:
space:
mode:
authorYuriy Glukhov <yuriy.glukhov@gmail.com>2015-09-03 19:20:23 +0300
committerYuriy Glukhov <yuriy.glukhov@gmail.com>2015-09-04 20:50:29 +0300
commit49869a2b10d73dac719690f3796a0584be38c0bb (patch)
treebcbd3f9bf40779ba23c2733dfb563237b5e72b8d /compiler/vmgen.nim
parent178275f49403012ca3d774f8cadcc2836eea9508 (diff)
downloadNim-49869a2b10d73dac719690f3796a0584be38c0bb.tar.gz
when nimvm stmt proof of concept
Diffstat (limited to 'compiler/vmgen.nim')
-rw-r--r--compiler/vmgen.nim5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/vmgen.nim b/compiler/vmgen.nim
index 237a44e18..64a18a731 100644
--- a/compiler/vmgen.nim
+++ b/compiler/vmgen.nim
@@ -1664,7 +1664,10 @@ proc gen(c: PCtx; n: PNode; dest: var TDest; flags: TGenFlags = {}) =
   of nkBracketExpr: genArrAccess(c, n, dest, flags)
   of nkDerefExpr, nkHiddenDeref: genAddrDeref(c, n, dest, opcLdDeref, flags)
   of nkAddr, nkHiddenAddr: genAddrDeref(c, n, dest, opcAddrNode, flags)
-  of nkWhenStmt, nkIfStmt, nkIfExpr: genIf(c, n, dest)
+  of nkIfStmt, nkIfExpr: genIf(c, n, dest)
+  of nkWhenStmt:
+      # This is "when nimvm" node. Chose the first branch.
+      gen(c, n.sons[0].sons[1], dest)
   of nkCaseStmt: genCase(c, n, dest)
   of nkWhileStmt:
     unused(n, dest)