From: simonpj@microsoft.com Date: Wed, 11 Nov 2009 08:09:57 +0000 (+0000) Subject: No CoreLint warnings if -dno-debug-output is on X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=c4ea6c7d0063be9323268ebffe6b9d0d6625b2e3 No CoreLint warnings if -dno-debug-output is on The Core Lint warnings are new. There's only one at the moment, namely one to identify recursive INLINE things: [RHS of $c>>_als :: forall s_afT a_alJ b_alK. Cpr001_imp.StateTrans s_afT a_alJ -> Cpr001_imp.StateTrans s_afT b_alK -> Cpr001_imp.StateTrans s_afT b_alK] INLINE binder is loop breaker: $c>>_als This is definitely non-fatal, and typically gets unravelled after another simplifier run anyway. So I'm suppressing such warnings for the testsuite, when -dno-debug-output is on. --- diff --git a/compiler/coreSyn/CoreLint.lhs b/compiler/coreSyn/CoreLint.lhs index 2cbe744..2747625 100644 --- a/compiler/coreSyn/CoreLint.lhs +++ b/compiler/coreSyn/CoreLint.lhs @@ -102,7 +102,7 @@ lintCoreBindings dflags _whoDunnit _binds lintCoreBindings dflags whoDunnit binds | isEmptyBag errs = do { showPass dflags ("Core Linted result of " ++ whoDunnit) - ; unless (isEmptyBag warns) $ printDump $ + ; unless (isEmptyBag warns || opt_NoDebugOutput) $ printDump $ (banner "warnings" $$ displayMessageBag warns) ; return () }