diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2016-01-18 03:00:14 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2016-01-18 03:00:14 +0100 |
commit | 2309975f782bf59b240e3874d5c31b4b299eca5d (patch) | |
tree | 76392a3f5b4ae005e169b60511a14fa6a61c8da3 /compiler | |
parent | bd933e6009b01768bfc62f4386aea9a09282beb6 (diff) | |
download | Nim-2309975f782bf59b240e3874d5c31b4b299eca5d.tar.gz |
fixes yet another LL regression (Aporia compiles again)
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/lambdalifting.nim | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/lambdalifting.nim b/compiler/lambdalifting.nim index 20f903da9..9265d09e3 100644 --- a/compiler/lambdalifting.nim +++ b/compiler/lambdalifting.nim @@ -362,6 +362,7 @@ proc detectCapturedVars(n: PNode; owner: PSym; c: var DetectionPass) = # this handles the case that the inner proc was declared as # .closure but does not actually capture anything: addClosureParam(c, s) + c.somethingToDo = true let innerProc = isInnerProc(s) if innerProc: @@ -654,7 +655,6 @@ proc wrapIterBody(n: PNode; owner: PSym): PNode = proc symToClosure(n: PNode; owner: PSym; d: DetectionPass; c: var LiftingPass): PNode = let s = n.sym - if s == owner: # recursive calls go through (lambda, hiddenParam): let available = getHiddenParam(owner) |