From 437db249e70d13edf879026b7faefeede7a7abc2 Mon Sep 17 00:00:00 2001 From: Araq Date: Sun, 21 Dec 2025 07:44:56 +0100 Subject: [PATCH] progress --- compiler/nifbackend.nim | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/compiler/nifbackend.nim b/compiler/nifbackend.nim index 2f65ffe220..5eb0bab532 100644 --- a/compiler/nifbackend.nim +++ b/compiler/nifbackend.nim @@ -68,17 +68,16 @@ proc finishModule(g: ModuleGraph; bmod: BModule) = proc generateCodeForModule(g: ModuleGraph; module: PSym) = ## Generate C code for a single module. - when false: - let moduleId = module.position - var bmod = BModuleList(g.backend).modules[moduleId] - if bmod == nil: - bmod = setupNifBackendModule(g, module) + let moduleId = module.position + var bmod = BModuleList(g.backend).modules[moduleId] + if bmod == nil: + bmod = setupNifBackendModule(g, module) - # Generate code for the module's top-level statements - if module.ast != nil: - cgen.genTopLevelStmt(bmod, module.ast) + # Generate code for the module's top-level statements + if module.ast != nil: + cgen.genTopLevelStmt(bmod, module.ast) - finishModule(g, bmod) + finishModule(g, bmod) proc generateCode*(g: ModuleGraph; mainFileIdx: FileIndex) = ## Main entry point for NIF-based C code generation. @@ -126,7 +125,8 @@ proc generateCode*(g: ModuleGraph; mainFileIdx: FileIndex) = for m in BModuleList(g.backend).modules: if m != nil: assert m.module != nil - finishModule g, m + if sfMainModule notin m.module.flags: + finishModule g, m # Write C files if g.backend != nil: