made nodecl implicit for vars in the js backend. (#5297)

This commit is contained in:
Michael Jendrusch
2017-01-29 17:34:08 +01:00
committed by Andreas Rumpf
parent 5e1bdb4d83
commit d75760f5d3
3 changed files with 15 additions and 2 deletions

View File

@@ -1528,7 +1528,7 @@ proc genVarStmt(p: PProc, n: PNode) =
assert(a.kind == nkIdentDefs)
assert(a.sons[0].kind == nkSym)
var v = a.sons[0].sym
if lfNoDecl notin v.loc.flags:
if lfNoDecl notin v.loc.flags and sfImportc notin v.flags:
genLineDir(p, a)
genVarInit(p, v, a.sons[2])

View File

@@ -0,0 +1,13 @@
discard """
output: '''22
22'''
"""
# test implicit nodecl
block:
{. emit: "var importMe = 22;" .}
var
a {. importc: "importMe" .}: int
importMe {. importc .}: int
echo a
echo importMe

View File

@@ -6,7 +6,7 @@ type
log*: proc() {.nimcall varargs.}
Console = ref ConsoleObj
var console* {.importc nodecl.}: Console
var console* {.importc.}: Console
when isMainModule:
console.log "Hello, world"