From ebd139587ed98f686d633e90dbef6716f2b0e9c7 Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Tue, 27 Jul 2010 09:45:49 +0000 Subject: [PATCH] Suppress warnings about recursive INLINE in output of desugarer --- compiler/simplCore/CoreMonad.lhs | 5 +++++ 1 file changed, 5 insertions(+) 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) -- 1.7.10.4