summaryrefslogtreecommitdiff
path: root/hadrian/src/Target.hs
diff options
context:
space:
mode:
Diffstat (limited to 'hadrian/src/Target.hs')
-rw-r--r--hadrian/src/Target.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/hadrian/src/Target.hs b/hadrian/src/Target.hs
index 2fb12f8c7c..07a31fc464 100644
--- a/hadrian/src/Target.hs
+++ b/hadrian/src/Target.hs
@@ -21,11 +21,12 @@ type Target = H.Target Context Builder
trackArgument :: Target -> String -> Bool
trackArgument target arg = case builder target of
Make _ -> not $ threadArg arg
- Ghc _ _ -> not $ verbosityArg arg
+ Ghc _ _ -> not $ verbosityArg arg || diagnosticsColorArg arg
Cabal _ _ -> not $ verbosityArg arg || cabal_configure_ignore arg
_ -> True
where
threadArg s = dropWhileEnd isDigit s `elem` ["-j", "MAKEFLAGS=-j", "THREADS="]
verbosityArg s = dropWhileEnd isDigit s == "-v"
+ diagnosticsColorArg s = "-fdiagnostics-color=" `isPrefixOf` s -- N.B. #18672
cabal_configure_ignore s =
s `elem` [ "--configure-option=--quiet", "--configure-option=--disable-option-checking" ]