parent
fde17b159f
commit
b8bcf236dd
2 changed files with 32 additions and 1 deletions
|
|
@ -382,7 +382,13 @@ proc genSingleVar(p: BProc, v: PSym; vn, value: PNode) =
|
||||||
|
|
||||||
proc genSingleVar(p: BProc, a: PNode) =
|
proc genSingleVar(p: BProc, a: PNode) =
|
||||||
let v = a[0].sym
|
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])
|
genSingleVar(p, v, a[0], a[2])
|
||||||
|
|
||||||
proc genClosureVar(p: BProc, a: PNode) =
|
proc genClosureVar(p: BProc, a: PNode) =
|
||||||
|
|
|
||||||
25
tests/pragmas/t12640.nim
Normal file
25
tests/pragmas/t12640.nim
Normal 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()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue