X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FsimplCore%2FCoreMonad.lhs;h=8e75a7bc87c49c93f62f727366699fc40a01ab11;hb=ebd139587ed98f686d633e90dbef6716f2b0e9c7;hp=f83f1bc6fcdd23356a83c06cc14478ca900be204;hpb=a819f3db613e6a65cac015a29d6c9d0289938d0f;p=ghc-hetmet.git diff --git a/compiler/simplCore/CoreMonad.lhs b/compiler/simplCore/CoreMonad.lhs index f83f1bc..8e75a7b 100644 --- a/compiler/simplCore/CoreMonad.lhs +++ b/compiler/simplCore/CoreMonad.lhs @@ -166,6 +166,11 @@ displayLintResults dflags pass warns errs binds ; Err.ghcExit dflags 1 } | not (isEmptyBag warns) + , not (case pass of { CoreDesugar -> True; _ -> False }) + -- Suppress warnings after desugaring pass because some + -- are legitimate. Notably, the desugarer generates instance + -- methods with INLINE pragmas that form a mutually recursive + -- group. Only afer a round of simplification are they unravelled. , not opt_NoDebugOutput , showLintWarnings pass = printDump (banner "warnings" $$ Err.pprMessageBag warns)