summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-08-24 11:48:21 +0200
committerAndreas Rumpf <rumpf_a@web.de>2016-08-24 11:48:21 +0200
commit18e37cad0829e2f8eb1d8733f91d5d3ec79a94c9 (patch)
tree846be46daaba83f2d284f58dacf94acfc71d1286 /compiler
parent636e74fe397a7e93dd1955be549c901b3e9c8312 (diff)
downloadNim-18e37cad0829e2f8eb1d8733f91d5d3ec79a94c9.tar.gz
fixes #4653
Diffstat (limited to 'compiler')
-rw-r--r--compiler/ccgexprs.nim2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/ccgexprs.nim b/compiler/ccgexprs.nim
index f9fa1a0f6..6c96f209e 100644
--- a/compiler/ccgexprs.nim
+++ b/compiler/ccgexprs.nim
@@ -670,6 +670,8 @@ proc genDeref(p: BProc, e: PNode, d: var TLoc; enforceDeref=false) =
     #if e[0].kind != nkBracketExpr:
     #  message(e.info, warnUser, "CAME HERE " & renderTree(e))
     expr(p, e.sons[0], d)
+    if e.sons[0].typ.skipTypes(abstractInst).kind == tyRef:
+      d.s = OnHeap
   else:
     var a: TLoc
     let typ = skipTypes(e.sons[0].typ, abstractInst)