fix regressions affecting the echo magic and the creating of rod files
the markAndSweep GC was not responsible for the regressions so this commit restores its use
This commit is contained in:
parent
ff1273a312
commit
f05ac0cb23
3 changed files with 5 additions and 3 deletions
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
mainModule:"nimrod.nim"
|
mainModule:"nimrod.nim"
|
||||||
|
|
||||||
# gc:markAndSweep
|
gc:markAndSweep
|
||||||
|
|
||||||
hint[XDeclaredButNotUsed]:off
|
hint[XDeclaredButNotUsed]:off
|
||||||
path:"llvm"
|
path:"llvm"
|
||||||
|
|
|
||||||
|
|
@ -686,7 +686,7 @@ proc semIndirectOp(c: PContext, n: PNode, flags: TExprFlags): PNode =
|
||||||
result = n.sons[0]
|
result = n.sons[0]
|
||||||
result.kind = nkCall
|
result.kind = nkCall
|
||||||
for i in countup(1, sonsLen(n) - 1): addSon(result, n.sons[i])
|
for i in countup(1, sonsLen(n) - 1): addSon(result, n.sons[i])
|
||||||
return semDirectOp(c, result, flags)
|
return semExpr(c, result, flags)
|
||||||
else:
|
else:
|
||||||
n.sons[0] = semExpr(c, n.sons[0])
|
n.sons[0] = semExpr(c, n.sons[0])
|
||||||
let nOrig = n.copyTree
|
let nOrig = n.copyTree
|
||||||
|
|
|
||||||
|
|
@ -608,7 +608,9 @@ proc liftParamType(c: PContext, procKind: TSymKind, genericParams: PNode,
|
||||||
if genericParams.sons[i].sym.name.id == finalTypId.id:
|
if genericParams.sons[i].sym.name.id == finalTypId.id:
|
||||||
return genericParams.sons[i].typ
|
return genericParams.sons[i].typ
|
||||||
|
|
||||||
var s = newSym(skType, finalTypId, typeClass.sym, info)
|
let owner = if typeClass.sym != nil: typeClass.sym
|
||||||
|
else: getCurrOwner()
|
||||||
|
var s = newSym(skType, finalTypId, owner, info)
|
||||||
if typId == nil: s.flags.incl(sfAnon)
|
if typId == nil: s.flags.incl(sfAnon)
|
||||||
s.linkTo(typeClass)
|
s.linkTo(typeClass)
|
||||||
s.position = genericParams.len
|
s.position = genericParams.len
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue