[commit: testsuite] master: Explain skipping compiler-perf tests when debugging is on (14958ae)
mail at joachim-breitner.de
Fri Nov 29 10:28:42 UTC 2013
Am Freitag, den 29.11.2013, 10:08 +0000 schrieb Simon Marlow:
> Actually this isn't quite right. compiler_debugged() is true when
> GhcDebugged=YES in the build system, and GhcDebugged controls whether
> GHC is compiled with -debug or not.
> That is, compiler_debugged() tells us whether the compiler was compiled
> with -debug, not -DDEBUG. The -debug flag links in the debug RTS and
> doesn't change allocation or heap residency, whereas -DDEBUG enables
> assertions in the compiler and *does* change allocation and heap residency.
> It looks like we need another predicate to tell us whether GHC was
> compiled with -DDEBUG or not.
> Would you mind backing out these changes in the meantime?
are you sure? compiler_debugged() is certainly true when I build ghc
GhcStage2HcOpts = -O0 -DDEBUG
./inplace/bin/ghc-stage2 --info|grep 'Debug on'
./inplace/bin/ghc-stage2 +RTS --info|grep -i debug
The test runner sets the value testsuite/mk/ghc-config.hs:
info <- readProcess ghc ["--info"] ""
let fields = read info :: [(String,String)]
getGhcFieldOrFail fields "GhcDebugged" "Debug on"
which writes to testsuite/mk/ghcconfig_*
which is then read by testsuite/mk/boilerplate.mk
which is included everywhere
including mk/test.mk which sets "-e ghc_debugged=$(GhcDebugged)"
So it seems that it is simply the wiki documentation that is wrong here.
(And judging from the git history, it has always been the case since it
was introduced by Ian one year ago
Joachim “nomeata” Breitner
mail at joachim-breitner.de • http://www.joachim-breitner.de/
Jabber: nomeata at joachim-breitner.de • GPG-Key: 0x4743206C
Debian Developer: nomeata at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 198 bytes
Desc: This is a digitally signed message part
More information about the ghc-devs