From 740c07ead4f0db47011b1be915b2745057dda926 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Mon, 9 Oct 2017 17:20:56 +0200 Subject: [PATCH] fixes a codegen bug: in 'result = f(result)' the default initialization for 'result' IS required --- compiler/cgen.nim | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/compiler/cgen.nim b/compiler/cgen.nim index 6970d09c3d..367fced9a6 100644 --- a/compiler/cgen.nim +++ b/compiler/cgen.nim @@ -663,6 +663,13 @@ proc closureSetup(p: BProc, prc: PSym) = linefmt(p, cpsStmts, "$1 = ($2) ClE_0;$n", rdLoc(env.loc), getTypeDesc(p.module, env.typ)) +proc containsResult(n: PNode): bool = + if n.kind == nkSym and n.sym.kind == skResult: + result = true + else: + for i in 0..