Temporary fix to the crash
authorSimon Peyton Jones <simonpj@microsoft.com>
Thu, 28 Aug 2014 16:50:49 +0000 (17:50 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Thu, 28 Aug 2014 16:51:14 +0000 (17:51 +0100)
   ghc-stage2: panic! (the 'impossible' happened)
     (GHC version 7.9.20140828 for x86_64-unknown-linux):
    nameModule $w$smiddle_sfx6

   make[1]: *** [utils/haddock/dist/build/Haddock/Backends/Xhtml.dyn_o] Error 1

compiler/main/TidyPgm.lhs

index ba5ccb7..faec956 100644 (file)
@@ -448,7 +448,7 @@ So trimAutoRules does this:
   * Remove all bindings that are kept alive *only* by isAutoRule rules
   * Remove all auto rules that mention bindings that have been removed
 So if a binding is kept alive for some other reason (e.g. f_spec is
-called in the final code), we keep th e rule too.
+called in the final code), we keep the rule too.
 
 I found that binary sizes jumped by 6-10% when I started to specialise
 INLINE functions (again, Note [Inline specialisations] in Specialise).
@@ -459,7 +459,7 @@ Adding trimAutoRules removed all this bloat.
 trimAutoRules :: [CoreBind] -> [CoreRule] -> ([CoreBind], [CoreRule])
 -- See Note [Trimming auto rules]
 trimAutoRules binds rules
-  | null auto_rules
+  | True {- null auto_rules -}  -- Temporrary fix
   = (binds, rules)
   | otherwise
   = (binds', filter keep_rule auto_rules ++ user_rules)