diff options
author | sheaf <sam.derbyshire@gmail.com> | 2022-12-02 17:55:21 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-12-06 15:45:58 -0500 |
commit | cd31acad391582dd16b00a823271b364ab063ca9 (patch) | |
tree | 3204b649e321dea27b16b13247ad6cb4a0f4d328 /hadrian/doc | |
parent | 1a767fa359d22ca7637af41e29434e76487c3f21 (diff) | |
download | haskell-cd31acad391582dd16b00a823271b364ab063ca9.tar.gz |
Hadrian: fix ghcDebugAssertions off-by-one error
Commit 6b2f7ffe changed the logic that decided whether to enable debug
assertions. However, it had an off-by-one error, as the stage parameter
to the function inconsistently referred to the stage of the compiler
being used to build or the stage of the compiler we are building.
This patch makes it consistent. Now the parameter always refers to the
the compiler which is being built.
In particular, this patch re-enables
assertions in the stage 2 compiler when building with devel2 flavour,
and disables assertions in the stage 2 compiler when building with
validate flavour.
Some extra performance tests are now run in the "validate" jobs because
the stage2 compiler no longer contains assertions.
-------------------------
Metric Decrease:
CoOpt_Singletons
MultiComponentModules
MultiComponentModulesRecomp
MultiLayerModulesTH_OneShot
T11374
T12227
T12234
T13253-spj
T13701
T14683
T14697
T15703
T17096
T17516
T18304
T18478
T18923
T5030
T9872b
TcPlugin_RewritePerf
Metric Increase:
MultiComponentModules
MultiComponentModulesRecomp
MultiLayerModules
MultiLayerModulesRecomp
MultiLayerModulesTH_Make
T13386
T13719
T3294
T9233
T9675
parsing001
-------------------------
Diffstat (limited to 'hadrian/doc')
-rw-r--r-- | hadrian/doc/user-settings.md | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/hadrian/doc/user-settings.md b/hadrian/doc/user-settings.md index 6e98d8a02a..795f877557 100644 --- a/hadrian/doc/user-settings.md +++ b/hadrian/doc/user-settings.md @@ -25,7 +25,7 @@ data Flavour = Flavour { packages :: Stage -> Action [Package], -- | Bignum backend: 'native', 'gmp', 'ffi', etc. bignumBackend :: String, - -- | Check bignum backend against native + -- | Check selected bignum backend against native backend bignumCheck :: Bool, -- | Build libraries these ways. libraryWays :: Ways, @@ -34,15 +34,20 @@ data Flavour = Flavour { -- | Build dynamic GHC programs. dynamicGhcPrograms :: Action Bool, -- | Enable GHCi debugger. - ghciWithDebugger :: Bool, + ghciWithDebugger :: Stage -- ^ stage of the /built/ compiler + -> Bool, -- | Build profiled GHC. - ghcProfiled :: Bool, + ghcProfiled :: Stage -- ^ stage of the /built/ compiler + -> Bool, -- | Build GHC with the debug RTS. - ghcDebugged :: Bool, + ghcDebugged :: Stage -- ^ stage of the /built/ compiler + -> Bool, -- | Build GHC with debug assertions (-DDEBUG). - ghcDebugAssertions :: Bool, + ghcDebugAssertions :: Stage -- ^ stage of the /built/ compiler + -> Bool, -- | Build the GHC executable against the threaded runtime system. - ghcThreaded :: Bool, + ghcThreaded :: Stage -- ^ stage of the /built/ compiler + -> Bool, -- | Whether to build docs and which ones -- (haddocks, user manual, haddock manual) ghcDocs :: Action DocTargets } |