diff options
Diffstat (limited to 'hadrian')
-rw-r--r-- | hadrian/src/Oracles/TestSettings.hs | 6 | ||||
-rw-r--r-- | hadrian/src/Settings/Builders/RunTest.hs | 9 |
2 files changed, 12 insertions, 3 deletions
diff --git a/hadrian/src/Oracles/TestSettings.hs b/hadrian/src/Oracles/TestSettings.hs index fc204c26c1..6abcb88daf 100644 --- a/hadrian/src/Oracles/TestSettings.hs +++ b/hadrian/src/Oracles/TestSettings.hs @@ -25,8 +25,9 @@ data TestSetting = TestHostOS | TestTARGETPLATFORM | TestTargetOS_CPP | TestTargetARCH_CPP + | TestRTSWay | TestGhcStage - | TestGhcDebugged + | TestGhcDebugAssertions | TestGhcWithNativeCodeGen | TestGhcWithInterpreter | TestGhcWithRtsLinker @@ -56,8 +57,9 @@ testSetting key = do TestTARGETPLATFORM -> "TARGETPLATFORM" TestTargetOS_CPP -> "TargetOS_CPP" TestTargetARCH_CPP -> "TargetARCH_CPP" + TestRTSWay -> "RTSWay" TestGhcStage -> "GhcStage" - TestGhcDebugged -> "GhcDebugged" + TestGhcDebugAssertions -> "GhcDebugAssertions" TestGhcWithNativeCodeGen -> "GhcWithNativeCodeGen" TestGhcWithInterpreter -> "GhcWithInterpreter" TestGhcWithRtsLinker -> "GhcWithRtsLinker" diff --git a/hadrian/src/Settings/Builders/RunTest.hs b/hadrian/src/Settings/Builders/RunTest.hs index 60de539a12..1a0f411d97 100644 --- a/hadrian/src/Settings/Builders/RunTest.hs +++ b/hadrian/src/Settings/Builders/RunTest.hs @@ -69,6 +69,9 @@ data TestCompilerArgs = TestCompilerArgs{ , unregisterised :: Bool , tables_next_to_code :: Bool , targetWithSMP :: Bool -- does the target support SMP + , debugged :: Bool + -- ^ Whether the compiler has the debug RTS, + -- corresponding to the -debug option. , debugAssertions :: Bool -- ^ Whether the compiler has debug assertions enabled, -- corresponding to the -DDEBUG option. @@ -104,6 +107,7 @@ inTreeCompilerArgs stg = do let ghcStage = succStage stg debugAssertions <- ghcDebugAssertions <$> flavour <*> pure ghcStage + debugged <- ghcDebugged <$> flavour <*> pure ghcStage profiled <- ghcProfiled <$> flavour <*> pure ghcStage os <- setting HostOs @@ -149,12 +153,14 @@ outOfTreeCompilerArgs = do unregisterised <- getBooleanSetting TestGhcUnregisterised tables_next_to_code <- getBooleanSetting TestGhcTablesNextToCode targetWithSMP <- targetSupportsSMP - debugAssertions <- getBooleanSetting TestGhcDebugged + debugAssertions <- getBooleanSetting TestGhcDebugAssertions os <- getTestSetting TestHostOS arch <- getTestSetting TestTargetARCH_CPP platform <- getTestSetting TestTARGETPLATFORM wordsize <- getTestSetting TestWORDSIZE + rtsWay <- getTestSetting TestRTSWay + let debugged = "debug" `isInfixOf` rtsWay llc_cmd <- getTestSetting TestLLC have_llvm <- liftIO (isJust <$> findExecutable llc_cmd) @@ -243,6 +249,7 @@ runTestBuilderArgs = builder Testsuite ? do , arg "-e", arg $ "config.accept_os=" ++ show acceptOS , arg "-e", arg $ "config.exeext=" ++ quote (if null exe then "" else "."<>exe) , arg "-e", arg $ "config.compiler_debugged=" ++ show debugAssertions + , arg "-e", arg $ "config.debug_rts=" ++ show debugged -- MP: TODO, we do not need both, they get aliased to the same thing. , arg "-e", arg $ asBool "ghc_with_native_codegen=" withNativeCodeGen |