summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorZahary Karadjov <zahary@gmail.com>2012-02-03 03:23:43 +0200
committerZahary Karadjov <zahary@gmail.com>2012-02-03 03:23:43 +0200
commitc3e790b1edb22da2c61d65cd67c015c4dff2b82e (patch)
treecb6b6556fde7d8d96d692868f97ce92730c6b7c7
parent3af91064e56aab8a067f38b42c51665fb567383e (diff)
downloadNim-c3e790b1edb22da2c61d65cd67c015c4dff2b82e.tar.gz
fixes #87
-rwxr-xr-xcompiler/ccgtypes.nim7
-rwxr-xr-xcompiler/cgen.nim2
2 files changed, 5 insertions, 4 deletions
diff --git a/compiler/ccgtypes.nim b/compiler/ccgtypes.nim
index b4cd77c2b..a2faf3cbf 100755
--- a/compiler/ccgtypes.nim
+++ b/compiler/ccgtypes.nim
@@ -520,14 +520,17 @@ proc finishTypeDescriptions(m: BModule) =
 proc genProcHeader(m: BModule, prc: PSym): PRope = 
   var 
     rettype, params: PRope
+  genCLineDir(result, prc.info)
   # using static is needed for inline procs
-  if (prc.typ.callConv == ccInline): result = toRope"static "
+  if gCmd != cmdCompileToLLVM and lfExportLib in prc.loc.flags:
+    result.app "N_LIB_EXPORT "
+  elif prc.typ.callConv == ccInline:
+    result.app "static "
   var check = initIntSet()
   fillLoc(prc.loc, locProc, prc.typ, mangleName(prc), OnUnknown)
   genProcParams(m, prc.typ, rettype, params, check)
   # careful here! don't access ``prc.ast`` as that could reload large parts of
   # the object graph!
-  genCLineDir(result, prc.info)
   appf(result, "$1($2, $3)$4", 
        [toRope(CallingConvToStr[prc.typ.callConv]), rettype, prc.loc.r, params])
 
diff --git a/compiler/cgen.nim b/compiler/cgen.nim
index eb3e58a98..d60f11639 100755
--- a/compiler/cgen.nim
+++ b/compiler/cgen.nim
@@ -574,8 +574,6 @@ proc deinitFrame(p: BProc): PRope =
 proc genProcAux(m: BModule, prc: PSym) =
   var p = newProc(prc, m)
   var header = genProcHeader(m, prc)
-  if gCmd != cmdCompileToLLVM and lfExportLib in prc.loc.flags: 
-    header = con("N_LIB_EXPORT ", header)
   var returnStmt: PRope = nil
   assert(prc.ast != nil)
   if sfPure notin prc.flags and prc.typ.sons[0] != nil: