Mysterious fix for #8550 (#8561)

Replacing the `for` body with a nkEmpty node is not the right thing to
do.
This commit is contained in:
LemonBoy 2018-08-12 20:41:48 +02:00 • committed by Andreas Rumpf
commit ba7c874a7d
2 changed files with 14 additions and 5 deletions

View file

@ -539,11 +539,8 @@ proc transformFor(c: PTransf, n: PNode): PTransNode =
if call.kind notin nkCallKinds or call.sons[0].kind != nkSym or
call.sons[0].typ.callConv == ccClosure:
n.sons[length-1] = transformLoopBody(c, n.sons[length-1]).PNode
if not c.tooEarly:
n.sons[length-2] = transform(c, n.sons[length-2]).PNode
result[1] = lambdalifting.liftForLoop(c.graph, n, getCurrOwner(c)).PTransNode
else:
result[1] = newNode(nkEmpty).PTransNode
n.sons[length-2] = transform(c, n.sons[length-2]).PNode
result[1] = lambdalifting.liftForLoop(c.graph, n, getCurrOwner(c)).PTransNode
discard c.breakSyms.pop
return result