summary refs log tree commit diff stats
path: root/rod/ccgstmts.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2010-08-01 14:49:54 +0200
committerAndreas Rumpf <rumpf_a@web.de>2010-08-01 14:49:54 +0200
commit03724c2952e4eea4d9e16f5b4eccec862a1ba21c (patch)
treee456ae6e514beae649defcc5596d40fd42f62f66 /rod/ccgstmts.nim
parentff02ce2d50d8a4b445f9fba6076527c3db62425c (diff)
downloadNim-03724c2952e4eea4d9e16f5b4eccec862a1ba21c.tar.gz
before stack init change
Diffstat (limited to 'rod/ccgstmts.nim')
-rwxr-xr-xrod/ccgstmts.nim6
1 files changed, 4 insertions, 2 deletions
diff --git a/rod/ccgstmts.nim b/rod/ccgstmts.nim
index 9171b5fb8..348615cce 100755
--- a/rod/ccgstmts.nim
+++ b/rod/ccgstmts.nim
@@ -715,10 +715,12 @@ proc genStmts(p: BProc, t: PNode) =
   of nkProcDef, nkMethodDef, nkConverterDef: 
     if (t.sons[genericParamsPos] == nil): 
       prc = t.sons[namePos].sym
-      if not (optDeadCodeElim in gGlobalOptions) and
-          not (sfDeadCodeElim in getModule(prc).flags) or
+      if (optDeadCodeElim notin gGlobalOptions and
+          sfDeadCodeElim notin getModule(prc).flags) or
           ({sfExportc, sfCompilerProc} * prc.flags == {sfExportc}) or
+          (sfExportc in prc.flags and lfExportLib in prc.loc.flags) or
           (prc.kind == skMethod): 
+        # we have not only the header: 
         if (t.sons[codePos] != nil) or (lfDynamicLib in prc.loc.flags): 
           genProc(p.module, prc)
   else: internalError(t.info, "genStmts(" & $t.kind & ')')