From: simonpj@microsoft.com Date: Thu, 23 Sep 2010 10:58:20 +0000 (+0000) Subject: Avoid ASSERT black hole X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=528db2ad98caf5067ebdadf424c6c816c3927dd4;p=ghc-hetmet.git Avoid ASSERT black hole When this ASSERT tripped in CoreToStg it tried to print out too much, which tripped the asssertion again. Result: an infinite loop with no output at all. Hard to debug! --- diff --git a/compiler/stgSyn/CoreToStg.lhs b/compiler/stgSyn/CoreToStg.lhs index 3b004c1..9ddac59 100644 --- a/compiler/stgSyn/CoreToStg.lhs +++ b/compiler/stgSyn/CoreToStg.lhs @@ -184,7 +184,11 @@ coreTopBindToStg this_pkg env body_fvs (NonRec id rhs) bind = StgNonRec id stg_rhs in - ASSERT2(consistentCafInfo id bind, ppr id {- $$ ppr rhs $$ ppr bind -} ) + ASSERT2(consistentCafInfo id bind, ppr id ) + -- NB: previously the assertion printed 'rhs' and 'bind' + -- as well as 'id', but that led to a black hole + -- where printing the assertion error tripped the + -- assertion again! (env', fvs' `unionFVInfo` body_fvs, bind) coreTopBindToStg this_pkg env body_fvs (Rec pairs)