fixes #12577 [backport] (#12584)

This commit is contained in:
Andreas Rumpf 2019-11-03 07:55:55 +01:00 • committed by GitHub
commit ceda586d88
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -261,7 +261,6 @@ proc liftIterSym*(g: ModuleGraph; n: PNode; owner: PSym): PNode =
result.add(v) result.add(v)
# add 'new' statement: # add 'new' statement:
result.add newCall(getSysSym(g, n.info, "internalNew"), env) result.add newCall(getSysSym(g, n.info, "internalNew"), env)
if g.config.selectedGC in {gcHooks, gcDestructors}:
createTypeBoundOpsLL(g, env.typ, n.info) createTypeBoundOpsLL(g, env.typ, n.info)
result.add makeClosure(g, iter, env, n.info) result.add makeClosure(g, iter, env, n.info)
@ -613,7 +612,6 @@ proc rawClosureCreation(owner: PSym;
localError(d.graph.config, env.info, "internal error: cannot create up reference") localError(d.graph.config, env.info, "internal error: cannot create up reference")
# we are not in the sem'check phase anymore! so pass 'nil' for the PContext # we are not in the sem'check phase anymore! so pass 'nil' for the PContext
# and hope for the best: # and hope for the best:
if d.graph.config.selectedGC in {gcHooks, gcDestructors}:
createTypeBoundOpsLL(d.graph, env.typ, owner.info) createTypeBoundOpsLL(d.graph, env.typ, owner.info)
proc finishClosureCreation(owner: PSym; d: DetectionPass; c: LiftingPass; proc finishClosureCreation(owner: PSym; d: DetectionPass; c: LiftingPass;
@ -642,7 +640,6 @@ proc closureCreationForIter(iter: PNode;
addVar(vs, vnode) addVar(vs, vnode)
result.add(vs) result.add(vs)
result.add(newCall(getSysSym(d.graph, iter.info, "internalNew"), vnode)) result.add(newCall(getSysSym(d.graph, iter.info, "internalNew"), vnode))
if d.graph.config.selectedGC in {gcHooks, gcDestructors}:
createTypeBoundOpsLL(d.graph, vnode.typ, iter.info) createTypeBoundOpsLL(d.graph, vnode.typ, iter.info)
let upField = lookupInRecord(v.typ.skipTypes({tyOwned, tyRef, tyPtr}).n, getIdent(d.graph.cache, upName)) let upField = lookupInRecord(v.typ.skipTypes({tyOwned, tyRef, tyPtr}).n, getIdent(d.graph.cache, upName))
@ -928,7 +925,6 @@ proc liftForLoop*(g: ModuleGraph; body: PNode; owner: PSym): PNode =
result.add(v) result.add(v)
# add 'new' statement: # add 'new' statement:
result.add(newCall(getSysSym(g, env.info, "internalNew"), env.newSymNode)) result.add(newCall(getSysSym(g, env.info, "internalNew"), env.newSymNode))
if g.config.selectedGC in {gcHooks, gcDestructors}:
createTypeBoundOpsLL(g, env.typ, body.info) createTypeBoundOpsLL(g, env.typ, body.info)
elif op.kind == nkStmtListExpr: elif op.kind == nkStmtListExpr: