diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/ccgcalls.nim | 4 | ||||
-rw-r--r-- | compiler/cgen.nim | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/compiler/ccgcalls.nim b/compiler/ccgcalls.nim index db2a9ddc9..18741732c 100644 --- a/compiler/ccgcalls.nim +++ b/compiler/ccgcalls.nim @@ -32,7 +32,7 @@ proc fixupCall(p: BProc, le, ri: PNode, d: var TLoc, if d.k == locNone: getTemp(p, typ.sons[0], d, needsInit=true) elif d.k notin {locTemp} and not hasNoInit(ri): # reset before pass as 'result' var: - resetLoc(p, d) + discard "resetLoc(p, d)" add(pl, addrLoc(d)) add(pl, ~");$n") line(p, cpsStmts, pl) @@ -228,7 +228,7 @@ proc genClosureCall(p: BProc, le, ri: PNode, d: var TLoc) = getTemp(p, typ.sons[0], d, needsInit=true) elif d.k notin {locTemp} and not hasNoInit(ri): # reset before pass as 'result' var: - resetLoc(p, d) + discard "resetLoc(p, d)" add(pl, addrLoc(d)) genCallPattern() else: diff --git a/compiler/cgen.nim b/compiler/cgen.nim index 83c8501a4..ed9e4b7a4 100644 --- a/compiler/cgen.nim +++ b/compiler/cgen.nim @@ -726,6 +726,7 @@ proc genProcAux(m: BModule, prc: PSym) = else: fillResult(resNode) assignParam(p, res) + resetLoc(p, res.loc) if skipTypes(res.typ, abstractInst).kind == tyArray: #incl(res.loc.flags, lfIndirect) res.loc.storage = OnUnknown |