This commit is contained in:
Araq 2018-10-30 15:30:33 +01:00
commit 432a4d1787
2 changed files with 26 additions and 15 deletions

View file

@ -444,6 +444,7 @@ proc assignGlobalVar(p: BProc, n: PNode) =
return return
useHeader(p.module, s) useHeader(p.module, s)
if lfNoDecl in s.loc.flags: return if lfNoDecl in s.loc.flags: return
if not containsOrIncl(p.module.declaredThings, s.id):
if sfThread in s.flags: if sfThread in s.flags:
declareThreadVar(p.module, s, sfImportc in s.flags) declareThreadVar(p.module, s, sfImportc in s.flags)
else: else:
@ -1036,7 +1037,7 @@ proc genVarPrototype(m: BModule, n: PNode) =
let sym = n.sym let sym = n.sym
useHeader(m, sym) useHeader(m, sym)
fillLoc(sym.loc, locGlobalVar, n, mangleName(m, sym), OnHeap) fillLoc(sym.loc, locGlobalVar, n, mangleName(m, sym), OnHeap)
if (lfNoDecl in sym.loc.flags) or containsOrIncl(m.declaredThings, sym.id): if (lfNoDecl in sym.loc.flags) or contains(m.declaredThings, sym.id):
return return
if sym.owner.id != m.module.id: if sym.owner.id != m.module.id:
# else we already have the symbol generated! # else we already have the symbol generated!

View file

@ -35,3 +35,13 @@ try:
except: except:
echo "caught" echo "caught"
# issue 5549
var strs: seq[string] = @[]
try:
discard
finally:
for foobar in strs:
discard