diff options
-rw-r--r-- | compiler/passes.nim | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/passes.nim b/compiler/passes.nim index 82314b789..e917c1ce4 100644 --- a/compiler/passes.nim +++ b/compiler/passes.nim @@ -120,6 +120,9 @@ proc prepareConfigNotes(graph: ModuleGraph; module: PSym) = if graph.config.mainPackageNotes == {}: graph.config.mainPackageNotes = graph.config.notes graph.config.notes = graph.config.foreignPackageNotes +proc moduleHasChanged*(graph: ModuleGraph; module: PSym): bool {.inline.} = + result = module.id >= 0 + proc processModule*(graph: ModuleGraph; module: PSym, stream: PLLStream): bool {.discardable.} = if graph.stopCompile(): return true var @@ -128,7 +131,7 @@ proc processModule*(graph: ModuleGraph; module: PSym, stream: PLLStream): bool { s: PLLStream fileIdx = module.fileIdx prepareConfigNotes(graph, module) - if module.id < 0: + if not moduleHasChanged(graph, module): # new module caching mechanism: for i in 0 ..< graph.passes.len: if not isNil(graph.passes[i].open) and not graph.passes[i].isFrontend: |