No CoreLint warnings if -dno-debug-output is on
authorsimonpj@microsoft.com <unknown>
Wed, 11 Nov 2009 08:09:57 +0000 (08:09 +0000)
committersimonpj@microsoft.com <unknown>
Wed, 11 Nov 2009 08:09:57 +0000 (08:09 +0000)
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.

compiler/coreSyn/CoreLint.lhs

index 2cbe744..2747625 100644 (file)
@@ -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 () }