diff --git a/compiler/passes.nim b/compiler/passes.nim index 378c61f97d..88443e989f 100644 --- a/compiler/passes.nim +++ b/compiler/passes.nim @@ -121,6 +121,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 @@ -129,7 +132,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: