From: Simon Peyton Jones Date: Thu, 26 May 2011 16:21:51 +0000 (+0100) Subject: Suppress the alarming SpecConstr message for normal users (Trac #5125) X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=3664c198bbf23acce9820104c06878aa78a32a39 Suppress the alarming SpecConstr message for normal users (Trac #5125) This is the offending message: SpecConstr Function `$wks2{v s2dJ} [lid]' has one call pattern, but the limit is 0 Use -fspec-constr-count=n to set the bound Use -dppr-debug to see specialisations The message isn't very good, and is for experts only. So now it comes out only if you build with -DDEBUG or you specify -dppr-debug at runtime --- diff --git a/compiler/specialise/SpecConstr.lhs b/compiler/specialise/SpecConstr.lhs index 5fc0226..6cc05a3 100644 --- a/compiler/specialise/SpecConstr.lhs +++ b/compiler/specialise/SpecConstr.lhs @@ -1313,8 +1313,10 @@ specialise env bind_calls (RI fn _ arg_bndrs body arg_occs) spec_count' = n_pats + spec_count ; case sc_count env of Just max | not (sc_force env) && spec_count' > max - -> pprTrace "SpecConstr" msg $ - return (nullUsage, spec_info) + -> if (debugIsOn || opt_PprStyle_Debug) -- Suppress this scary message for + then pprTrace "SpecConstr" msg $ -- ordinary users! Trac #5125 + return (nullUsage, spec_info) + else return (nullUsage, spec_info) where msg = vcat [ sep [ ptext (sLit "Function") <+> quotes (ppr fn) , nest 2 (ptext (sLit "has") <+>