IC: integrity checking (#17695)

* IC: integrity checking: the plumbing code
* progress
* progress + bugfix (yes, the code already found a bug)
* implemented integrity checking
This commit is contained in:
Andreas Rumpf 2021-04-11 17:37:32 +02:00 • committed by GitHub
commit 4780b08b9d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 166 additions and 5 deletions

View file

@ -21,7 +21,7 @@ import
modules,
modulegraphs, tables, lineinfos, pathutils, vmprofiler
import ic / cbackend
import ic / [cbackend, integrity]
from ic / ic import rodViewer
when not defined(leanCompiler):
@ -93,6 +93,8 @@ proc commandCompileToC(graph: ModuleGraph) =
if conf.symbolFiles == disabledSf:
cgenWriteModules(graph.backend, conf)
else:
if isDefined(conf, "nimIcIntegrityChecks"):
checkIntegrity(graph)
generateCode(graph)
# graph.backend can be nil under IC when nothing changed at all:
if graph.backend != nil: