Emit Core lint warnings on stderr, fix #13342
authorBen Fiedler <ben@sjfiedler.de>
Tue, 7 Mar 2017 00:48:24 +0000 (01:48 +0100)
committerMatthew Pickering <matthewtpickering@gmail.com>
Sat, 11 Mar 2017 19:40:25 +0000 (19:40 +0000)
compiler/coreSyn/CoreLint.hs

index 93fcbe4..fb86242 100644 (file)
@@ -318,9 +318,11 @@ displayLintResults dflags pass warns errs binds
   | not (isEmptyBag warns)
   , not (hasNoDebugOutput dflags)
   , showLintWarnings pass
-  = log_action dflags dflags NoReason Err.SevDump noSrcSpan
+  -- If the Core linter encounters an error, output to stderr instead of
+  -- stdout (#13342)
+  = log_action dflags dflags NoReason Err.SevInfo noSrcSpan
         (defaultDumpStyle dflags)
-        (lint_banner "warnings" (ppr pass) $$ Err.pprMessageBag warns)
+        (lint_banner "warnings" (ppr pass) $$ Err.pprMessageBag (mapBag ($$ blankLine) warns))
 
   | otherwise = return ()
   where