summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2017-02-26 16:17:33 +0100
committerAraq <rumpf_a@web.de>2017-02-26 17:41:00 +0100
commitfb37d13f46af037aa5f40f0715e4513f515f5de2 (patch)
tree0544af6dab79a5679e678f6fcb1391a54ee4ef54 /compiler
parent53f4bdad236c69f0e582a9aaa8bc74dc504d841c (diff)
downloadNim-fb37d13f46af037aa5f40f0715e4513f515f5de2.tar.gz
fixes #5439
Diffstat (limited to 'compiler')
-rw-r--r--compiler/cgen.nim9
1 files changed, 5 insertions, 4 deletions
diff --git a/compiler/cgen.nim b/compiler/cgen.nim
index 7fef34a27..decbe55c3 100644
--- a/compiler/cgen.nim
+++ b/compiler/cgen.nim
@@ -595,7 +595,7 @@ proc cgsym(m: BModule, name: string): Rope =
 
 proc generateHeaders(m: BModule) =
   add(m.s[cfsHeaders], tnl & "#include \"nimbase.h\"" & tnl)
-  
+
   for it in m.headerFiles:
     if it[0] == '#':
       add(m.s[cfsHeaders], rope(it.replace('`', '"') & tnl))
@@ -1377,9 +1377,10 @@ proc myClose(graph: ModuleGraph; b: PPassContext, n: PNode): PNode =
   registerModuleToMain(m.g, m.module)
 
   if sfMainModule in m.module.flags:
-    incl m.flags, objHasKidsValid
-    var disp = generateMethodDispatchers(graph)
-    for i in 0..sonsLen(disp)-1: genProcAux(m, disp.sons[i].sym)
+    if m.g.forwardedProcsCounter == 0:
+      incl m.flags, objHasKidsValid
+    let disp = generateMethodDispatchers(graph)
+    for x in disp: genProcAux(m, x.sym)
     genMainProc(m)
 
 proc cgenWriteModules*(backend: RootRef, config: ConfigRef) =