Incremental compilation (IC): Improvements (#11881)

* IC: C codegen is aware of IC
* manual: minor change to make VSCode's RST plugin render it properly
* IC: minor refactoring
* testament: code refactorings
* rodutils: removed dead code
* IC: always build the compiler with the IC feature
* IC: C codegen improvements
* IC: implement the undocumented -d:nimMustCache option for testing purposes
* IC: added first basic tests
* IC: extensive testing of the deserialization feature
* testament: refactoring; better IC tests
* IC: removes 'nimMustCache' flag; readonly does the same
* testament: minor refactoring
* update Nimble version
* testament: removed dead code and imports; IC: added simple test
* IC: progress
This commit is contained in:
Andreas Rumpf 2019-08-08 08:41:05 +02:00 • committed by GitHub
commit c8cffaf420
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 318 additions and 261 deletions

39
tests/ic/tgenerics.nim Normal file
View file

@ -0,0 +1,39 @@
discard """
output: "bar"
disabled: "true"
"""
import tables
var tab: Table[string, string]
tab["foo"] = "bar"
echo tab["foo"]
#!EDIT!#
discard """
output: "bar 3"
"""
import tables
var tab: Table[string, string]
var tab2: Table[string, int]
tab["foo"] = "bar"
tab2["meh"] = 3
echo tab["foo"], " ", tab2["meh"]
#!EDIT!#
discard """
output: "3"
"""
import tables
var tab2: Table[string, int]
tab2["meh"] = 3
echo tab2["meh"]

28
tests/ic/thallo.nim Normal file
View file

@ -0,0 +1,28 @@
discard """
output: "Hello World"
"""
const str = "Hello World"
echo str
# Splitters are done with this special comment:
#!EDIT!#
discard """
output: "Hello World B"
"""
const str = "Hello World"
echo str, " B"
#!EDIT!#
discard """
output: "Hello World C"
"""
const str = "Hello World"
var x = 7
if 3+4 == x:
echo str, " C"