Skip to content

Commit 76505f0

Browse files
authored
nil fixes (#1113)
1 parent 586faa6 commit 76505f0

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

src/nimony/contracts.nim

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,9 +598,14 @@ proc translateCond(c: var Context; pc: var Cursor; wasEquality: var bool): LeXpl
598598
elif r.kind == Symbol:
599599
result.a = getVarId(c, r.symId)
600600
inc r
601+
elif r.exprKind == NilX:
602+
result.a = VarId(0)
603+
inc r
601604
else:
602605
analyseExpr c, pc
603606
return result
607+
if r.exprKind == NilX:
608+
wasEquality = false
604609
if not rightHandSide(c, r, result):
605610
result.a = InvalidVarId
606611
# a < b --> a <= b - 1:

src/nimony/nimony.nim

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ proc handleCmdLine() =
7373
var args: seq[string] = @[]
7474
var cmd = Command.None
7575
var forceRebuild = false
76+
var fullRebuild = false
7677
var silentMake = false
7778
var useEnv = true
7879
var doRun = false
@@ -105,6 +106,9 @@ proc handleCmdLine() =
105106
of "help", "h": writeHelp()
106107
of "version", "v": writeVersion()
107108
of "forcebuild", "f": forceRebuild = true
109+
of "ff":
110+
fullRebuild = true
111+
forceRebuild = true
108112
of "run", "r":
109113
doRun = true
110114
forwardArg = false
@@ -182,19 +186,19 @@ proc handleCmdLine() =
182186
createDir(config.nifcachePath)
183187
createDir(binDir())
184188
# configure required tools
185-
requiresTool "nifler", "src/nifler/nifler.nim", forceRebuild
186-
requiresTool "nifc", "src/nifc/nifc.nim", forceRebuild
189+
requiresTool "nifler", "src/nifler/nifler.nim", fullRebuild
190+
requiresTool "nifc", "src/nifc/nifc.nim", fullRebuild
187191
processSingleModule(args[0].addFileExt(".nim"), config, moduleFlags,
188192
commandLineArgs, forceRebuild)
189193
of FullProject:
190194
createDir(config.nifcachePath)
191195
createDir(binDir())
192196
# configure required tools
193197
updateCompilerGitSubmodules(config)
194-
requiresTool "nifler", "src/nifler/nifler.nim", forceRebuild
195-
requiresTool "nimsem", "src/nimony/nimsem.nim", forceRebuild
196-
requiresTool "hexer", "src/hexer/hexer.nim", forceRebuild
197-
requiresTool "nifc", "src/nifc/nifc.nim", forceRebuild
198+
requiresTool "nifler", "src/nifler/nifler.nim", fullRebuild
199+
requiresTool "nimsem", "src/nimony/nimsem.nim", fullRebuild
200+
requiresTool "hexer", "src/hexer/hexer.nim", fullRebuild
201+
requiresTool "nifc", "src/nifc/nifc.nim", fullRebuild
198202
# compile full project modules
199203
buildGraph config, args[0], forceRebuild, silentMake,
200204
commandLineArgs, commandLineArgsNifc, moduleFlags, (if doRun: DoRun else: DoCompile),

0 commit comments

Comments
 (0)