summary refs log tree commit diff stats
path: root/compiler/vmgen.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-05-11 21:20:53 +0200
committerAndreas Rumpf <rumpf_a@web.de>2016-05-11 21:20:53 +0200
commitac1a753aff0324caf6214fe76094136d04faac3d (patch)
treeebc308deff6b79b7ce01fbbc96bbf278f3384f4d /compiler/vmgen.nim
parent8dec1dcd1f77590ae040a4f95b12d4ea40b812ac (diff)
downloadNim-ac1a753aff0324caf6214fe76094136d04faac3d.tar.gz
fixes #3956
Diffstat (limited to 'compiler/vmgen.nim')
-rw-r--r--compiler/vmgen.nim9
1 files changed, 5 insertions, 4 deletions
diff --git a/compiler/vmgen.nim b/compiler/vmgen.nim
index 019c79eb3..bd32ccc17 100644
--- a/compiler/vmgen.nim
+++ b/compiler/vmgen.nim
@@ -1337,10 +1337,11 @@ proc genGlobalInit(c: PCtx; n: PNode; s: PSym) =
   #   var decls{.compileTime.}: seq[NimNode] = @[]
   let dest = c.getTemp(s.typ)
   c.gABx(n, opcLdGlobal, dest, s.position)
-  let tmp = c.genx(s.ast)
-  c.preventFalseAlias(n, opcWrDeref, dest, 0, tmp)
-  c.freeTemp(dest)
-  c.freeTemp(tmp)
+  if s.ast != nil:
+    let tmp = c.genx(s.ast)
+    c.preventFalseAlias(n, opcWrDeref, dest, 0, tmp)
+    c.freeTemp(dest)
+    c.freeTemp(tmp)
 
 proc genRdVar(c: PCtx; n: PNode; dest: var TDest; flags: TGenFlags) =
   let s = n.sym