summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2014-09-19 22:22:02 +0200
committerAndreas Rumpf <rumpf_a@web.de>2014-09-19 22:22:02 +0200
commit9f047f4351b100c929153d0070f3cd34752a08e1 (patch)
tree9156bd8ecaee0b7bf2b67eb4eaa067f6c3a7c9c6 /compiler
parentd2b7aed229b3a347b614c7ea0f3c1f29513e1c08 (diff)
parent80356f1cc76250706f23daa0c729c91127c4812b (diff)
downloadNim-9f047f4351b100c929153d0070f3cd34752a08e1.tar.gz
Merge pull request #1534 from rbehrends/fix-importc-var
Avoid unnecessary #include triggered by importc vars.
Diffstat (limited to 'compiler')
-rw-r--r--compiler/ccgstmts.nim4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/ccgstmts.nim b/compiler/ccgstmts.nim
index 3004e353b..cb9eebb32 100644
--- a/compiler/ccgstmts.nim
+++ b/compiler/ccgstmts.nim
@@ -171,6 +171,10 @@ proc genSingleVar(p: BProc, a: PNode) =
   if sfCompileTime in v.flags: return
   var targetProc = p
   if sfGlobal in v.flags:
+    if v.flags * {sfImportc, sfExportc} == {sfImportc} and
+        a.sons[2].kind == nkEmpty and
+        v.loc.flags * {lfHeader, lfNoDecl} != {}:
+      return
     if sfPure in v.flags:
       # v.owner.kind != skModule:
       targetProc = p.module.preInitProc