mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 08:54:53 +00:00
@@ -490,8 +490,11 @@ proc pVarTopLevel(v: PNode; c: var Con; s: var Scope; res: PNode) =
|
||||
res.add newTree(nkFastAsgn, v, genDefaultCall(v.typ, c, v.info))
|
||||
elif sfThread notin v.sym.flags and sfCursor notin v.sym.flags:
|
||||
# do not destroy thread vars for now at all for consistency.
|
||||
if sfGlobal in v.sym.flags and s.parent == nil: #XXX: Rethink this logic (see tarcmisc.test2)
|
||||
c.graph.globalDestructors.add c.genDestroy(v)
|
||||
if sfGlobal in v.sym.flags: #XXX: Rethink this logic (see tarcmisc.test2)
|
||||
if c.inLoop > 0:
|
||||
s.final.add c.genDestroy(v)
|
||||
else:
|
||||
c.graph.globalDestructors.add c.genDestroy(v)
|
||||
else:
|
||||
s.final.add c.genDestroy(v)
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ proc test(count: int) =
|
||||
test(3)
|
||||
|
||||
proc test2(count: int) =
|
||||
#block: #XXX: Fails with block currently
|
||||
block: #XXX: Fails with block currently
|
||||
var v {.global.} = newVariable(20)
|
||||
|
||||
var count = count - 1
|
||||
|
||||
Reference in New Issue
Block a user