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:
|
||||
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() =
|
||||
quit(HelpText % [VersionAsString & spaces(44-len(VersionAsString)),
|
||||
CompileDate, CompileTime], QuitSuccess)
|
||||
|
|
@ -548,5 +556,6 @@ of cmdArgument:
|
|||
of "nimsuggest": bundleNimsuggest(buildExe=true)
|
||||
of "tools": buildTools(existsDir(".git"))
|
||||
of "pushcsource", "pushcsources": pushCsources()
|
||||
of "valgrind": valgrind(op.cmdLineRest)
|
||||
else: 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