diff options
author | Araq <rumpf_a@web.de> | 2015-08-09 23:07:53 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-08-09 23:07:53 +0200 |
commit | 50861792f447d1a5213fcc9ebbfefae6ee146830 (patch) | |
tree | 8b928e0f356677ddad44eaac7570027710e486ab /compiler | |
parent | 0fc43d3d950714d779221382bbb08775c508b4e9 (diff) | |
download | Nim-50861792f447d1a5213fcc9ebbfefae6ee146830.tar.gz |
fixes #1329
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/vmgen.nim | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/vmgen.nim b/compiler/vmgen.nim index 1bee9788a..6a59b3384 100644 --- a/compiler/vmgen.nim +++ b/compiler/vmgen.nim @@ -1105,6 +1105,8 @@ proc genAddrDeref(c: PCtx; n: PNode; dest: var TDest; opc: TOpcode; # nkAddr we must not use 'unneededIndirection', but for deref we use it. if not isAddr and unneededIndirection(n.sons[0]): gen(c, n.sons[0], dest, newflags) + if gfAddrOf notin flags and fitsRegister(n.typ): + c.gABC(n, opcNodeToReg, dest, dest) elif isAddr and isGlobal(n.sons[0]): gen(c, n.sons[0], dest, flags+{gfAddrOf}) else: |