This commit is contained in:
Araq 2020-03-10 10:39:43 +01:00 • committed by Andreas Rumpf
commit 861a5340fe
7 changed files with 37 additions and 7 deletions

View file

@ -592,8 +592,11 @@ const
tfReturnsNew* = tfInheritable
skError* = skUnknown
# type flags that are essential for type equality:
eqTypeFlags* = {tfIterator, tfNotNil, tfVarIsPtr}
var
eqTypeFlags* = {tfIterator, tfNotNil, tfVarIsPtr, tfGcSafe, tfNoSideEffect}
## type flags that are essential for type equality.
## This is now a variable because for emulation of version:1.0 we
## might exclude {tfGcSafe, tfNoSideEffect}.
type
TMagic* = enum # symbols that require compiler magic:

View file

@ -32,6 +32,7 @@ import
pathutils, strtabs
from incremental import nimIncremental
from ast import eqTypeFlags, tfGcSafe, tfNoSideEffect
# but some have deps to imported modules. Yay.
bootSwitch(usedTinyC, hasTinyCBackend, "-d:tinyc")
@ -869,10 +870,11 @@ proc processSwitch*(switch, arg: string, pass: TCmdLinePass, info: TLineInfo;
of "1.0":
defineSymbol(conf.symbols, "NimMajor", "1")
defineSymbol(conf.symbols, "NimMinor", "0")
# always be compatible with 1.0.2 for now:
defineSymbol(conf.symbols, "NimPatch", "2")
# always be compatible with 1.0.100:
defineSymbol(conf.symbols, "NimPatch", "100")
# old behaviors go here:
defineSymbol(conf.symbols, "nimOldRelativePathBehavior")
ast.eqTypeFlags.excl {tfGcSafe, tfNoSideEffect}
else:
localError(conf, info, "unknown Nim version; currently supported values are: {1.0}")
of "benchmarkvm":