From f04d21f2793933f9b9a54ef2d67dc277e53a0c67 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Wed, 1 Feb 2017 15:39:56 +0100 Subject: refactoring: explict config state instead of globals --- compiler/cgen.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'compiler/cgen.nim') diff --git a/compiler/cgen.nim b/compiler/cgen.nim index 476b1362f..94a856773 100644 --- a/compiler/cgen.nim +++ b/compiler/cgen.nim @@ -1221,7 +1221,7 @@ proc myOpen(graph: ModuleGraph; module: PSym; cache: IdentCache): PPassContext = injectG() result = newModule(g, module) if optGenIndex in gGlobalOptions and g.generatedHeader == nil: - let f = if headerFile.len > 0: headerFile else: gProjectFull + let f = if graph.config.headerFile.len > 0: graph.config.headerFile else: gProjectFull g.generatedHeader = rawNewModule(g, module, changeFileExt(completeCFilePath(f), hExt)) incl g.generatedHeader.flags, isHeaderFile @@ -1373,11 +1373,12 @@ proc myClose(b: PPassContext, n: PNode): PNode = for i in 0..sonsLen(disp)-1: genProcAux(m, disp.sons[i].sym) genMainProc(m) -proc cgenWriteModules*(backend: RootRef) = +proc cgenWriteModules*(backend: RootRef, config: ConfigRef) = let g = BModuleList(backend) # we need to process the transitive closure because recursive module # deps are allowed (and the system module is processed in the wrong # order anyway) + g.config = config if g.generatedHeader != nil: finishModule(g.generatedHeader) while g.forwardedProcsCounter > 0: for m in cgenModules(g): -- cgit 1.4.1-2-gfad0