Merge pull request #2026 from reactormonk/koch-temp-125-exit-code

Koch temp 125 exit code
This commit is contained in:
Andreas Rumpf
2015-02-01 01:38:06 +01:00
2 changed files with 18 additions and 3 deletions

View File

@@ -145,6 +145,19 @@ are also lots of procs that aid in debugging:
# why does it process temp.nim here?
writeStackTrace()
To create a new compiler for each run, use ``koch temp``::
./koch temp c /tmp/test.nim
``koch temp`` creates a debug build of the compiler, which is useful
to create stacktraces for compiler debugging.
``koch temp`` returns 125 as the exit code in case the compiler
compilation fails. This exit code tells ``git bisect`` to skip the
current commit.::
git bisect start bad-commit good-commit
git bisect ./koch -r c test-source.nim
The compiler's architecture
===========================

View File

@@ -77,9 +77,9 @@ proc findNim(): string =
# assume there is a symlink to the exe or something:
return nim
proc exec(cmd: string) =
proc exec(cmd: string, errorcode: int = QuitFailure) =
echo(cmd)
if execShellCmd(cmd) != 0: quit("FAILURE")
if execShellCmd(cmd) != 0: quit("FAILURE", errorcode)
proc tryExec(cmd: string): bool =
echo(cmd)
@@ -341,7 +341,9 @@ proc tests(args: string) =
proc temp(args: string) =
var output = "compiler" / "nim".exe
var finalDest = "bin" / "nim_temp".exe
exec("nim c compiler" / "nim")
# 125 is the magic number to tell git bisect to skip the current
# commit.
exec("nim c compiler" / "nim", 125)
copyExe(output, finalDest)
if args.len > 0: exec(finalDest & " " & args)