From: simonpj@microsoft.com Date: Tue, 27 Jul 2010 09:45:49 +0000 (+0000) Subject: Suppress warnings about recursive INLINE in output of desugarer X-Git-Tag: 2010-11-18~401 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=ebd139587ed98f686d633e90dbef6716f2b0e9c7 Suppress warnings about recursive INLINE in output of desugarer --- 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)