valgrind support for nim
This commit is contained in:
parent
d59441340d
commit
15a8996d57
2 changed files with 23 additions and 0 deletions
9
koch.nim
9
koch.nim
|
|
@ -512,6 +512,14 @@ proc pushCsources() =
|
||||||
finally:
|
finally:
|
||||||
setCurrentDir(cwd)
|
setCurrentDir(cwd)
|
||||||
|
|
||||||
|
proc valgrind(cmd: string) =
|
||||||
|
exec("nim c " & cmd)
|
||||||
|
var i = cmd.len-1
|
||||||
|
while i >= 0 and cmd[i] != ' ': dec i
|
||||||
|
let file = if i >= 0: substr(cmd, i+1) else: cmd
|
||||||
|
let supp = getAppDir() / "tools" / "nimgrind.supp"
|
||||||
|
exec("valgrind --suppressions=" & supp & " " & changeFileExt(file, ""))
|
||||||
|
|
||||||
proc showHelp() =
|
proc showHelp() =
|
||||||
quit(HelpText % [VersionAsString & spaces(44-len(VersionAsString)),
|
quit(HelpText % [VersionAsString & spaces(44-len(VersionAsString)),
|
||||||
CompileDate, CompileTime], QuitSuccess)
|
CompileDate, CompileTime], QuitSuccess)
|
||||||
|
|
@ -548,5 +556,6 @@ of cmdArgument:
|
||||||
of "nimsuggest": bundleNimsuggest(buildExe=true)
|
of "nimsuggest": bundleNimsuggest(buildExe=true)
|
||||||
of "tools": buildTools(existsDir(".git"))
|
of "tools": buildTools(existsDir(".git"))
|
||||||
of "pushcsource", "pushcsources": pushCsources()
|
of "pushcsource", "pushcsources": pushCsources()
|
||||||
|
of "valgrind": valgrind(op.cmdLineRest)
|
||||||
else: showHelp()
|
else: showHelp()
|
||||||
of cmdEnd: showHelp()
|
of cmdEnd: showHelp()
|
||||||
|
|
|
||||||
14
tools/nimgrind.supp
Normal file
14
tools/nimgrind.supp
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
markstackandregisters_Cond
|
||||||
|
Memcheck:Cond
|
||||||
|
...
|
||||||
|
fun:markStackAndRegisters*
|
||||||
|
...
|
||||||
|
}
|
||||||
|
{
|
||||||
|
markstackandregisters_Value8
|
||||||
|
Memcheck:Value8
|
||||||
|
...
|
||||||
|
fun:markStackAndRegisters*
|
||||||
|
...
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue