This commit is contained in:
flywind
2020-11-03 18:41:41 +08:00
committed by GitHub
parent fde17b159f
commit b8bcf236dd
2 changed files with 32 additions and 1 deletions

View File

@@ -382,7 +382,13 @@ proc genSingleVar(p: BProc, v: PSym; vn, value: PNode) =
proc genSingleVar(p: BProc, a: PNode) =
let v = a[0].sym
if sfCompileTime in v.flags: return
if sfCompileTime in v.flags:
# fix issue #12640
# {.global, compileTime.} pragma in proc
if sfGlobal in v.flags and p.prc != nil and p.prc.kind == skProc:
discard
else:
return
genSingleVar(p, v, a[0], a[2])
proc genClosureVar(p: BProc, a: PNode) =

25
tests/pragmas/t12640.nim Normal file
View File

@@ -0,0 +1,25 @@
discard """
nimout: '''1
2
3
[1, 2, 3]'''
output: '''1
2
3
[1, 2, 3]'''
"""
proc doIt(a: openArray[int]) =
echo a
proc foo() =
var bug {.global, compiletime.}: seq[int]
bug = @[1, 2 ,3]
for i in 0 .. high(bug): echo bug[i]
doIt(bug)
static:
foo()
foo()