From 153fd13f3d6a8f8a046d85c44d077238310664b5 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Fri, 15 Jul 2016 02:36:37 +0200 Subject: [PATCH] fixes #2758 --- compiler/lowerings.nim | 1 + compiler/semparallel.nim | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/lowerings.nim b/compiler/lowerings.nim index 7a5c7f44b8..cdea2a4ff6 100644 --- a/compiler/lowerings.nim +++ b/compiler/lowerings.nim @@ -471,6 +471,7 @@ proc setupArgsForParallelism(n: PNode; objType: PType; scratchObj: PSym; let slice = newNodeI(nkCall, n.info, 4) slice.typ = n.typ slice.sons[0] = newSymNode(createMagic("slice", mSlice)) + slice.sons[0].typ = getSysType(tyInt) # fake type var fieldB = newSym(skField, tmpName, objType.owner, n.info) fieldB.typ = getSysType(tyInt) objType.addField(fieldB) diff --git a/compiler/semparallel.nim b/compiler/semparallel.nim index b04ba4657b..a4ec142500 100644 --- a/compiler/semparallel.nim +++ b/compiler/semparallel.nim @@ -74,8 +74,6 @@ type currentSpawnId: int inLoop: int -let opSlice = createMagic("slice", mSlice) - proc initAnalysisCtx(): AnalysisCtx = result.locals = @[] result.slices = @[] @@ -399,7 +397,9 @@ proc transformSlices(n: PNode): PNode = let op = n[0].sym if op.name.s == "[]" and op.fromSystem: result = copyNode(n) - result.add opSlice.newSymNode + let opSlice = newSymNode(createMagic("slice", mSlice)) + opSlice.typ = getSysType(tyInt) + result.add opSlice result.add n[1] let slice = n[2].skipStmtList result.add slice[1]