Merge branch 'master' of http://darcs.haskell.org/ghc
authorSimon Peyton Jones <simonpj@microsoft.com>
Wed, 27 Jul 2011 10:05:30 +0000 (11:05 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Wed, 27 Jul 2011 10:05:30 +0000 (11:05 +0100)
Conflicts:
compiler/coreSyn/CoreSubst.lhs
compiler/rename/RnNames.lhs

1  2 
compiler/basicTypes/VarEnv.lhs
compiler/coreSyn/CoreSubst.lhs
compiler/main/HscMain.lhs
compiler/rename/RnNames.lhs
compiler/typecheck/TcRnDriver.lhs
compiler/utils/Outputable.lhs

Simple merge
@@@ -50,7 -50,8 +50,8 @@@ import Type     hiding ( substTy, exten
  import Coercion hiding ( substTy, substCo, extendTvSubst, substTyVarBndr, substCoVarBndr )
  
  import OptCoercion ( optCoercion )
 -import PprCore     ( pprCoreBindings )
 +import PprCore     ( pprCoreBindings, pprRules )
+ import Module    ( Module )
  import VarSet
  import VarEnv
  import Id
@@@ -794,11 -795,12 +795,12 @@@ simpleOptExprWith :: Subst -> InExpr -
  simpleOptExprWith subst expr = simple_opt_expr subst (occurAnalyseExpr expr)
  
  ----------------------
- simpleOptPgm :: DynFlags -> [CoreBind] -> [CoreRule] -> [CoreVect] 
+ simpleOptPgm :: DynFlags -> Module 
+              -> [CoreBind] -> [CoreRule] -> [CoreVect] 
               -> IO ([CoreBind], [CoreRule], [CoreVect])
- simpleOptPgm dflags binds rules vects
+ simpleOptPgm dflags this_mod binds rules vects
    = do { dumpIfSet_dyn dflags Opt_D_dump_occur_anal "Occurrence analysis"
 -                       (pprCoreBindings occ_anald_binds);
 +                       (pprCoreBindings occ_anald_binds $$ pprRules rules );
  
         ; return (reverse binds', substRulesForImportedIds subst' rules, substVects subst' vects) }
    where
Simple merge
@@@ -1395,9 -1393,8 +1393,9 @@@ warnUnusedImportDecls gbl_en
         ; let usage :: [ImportDeclUsage]
               usage = findImportUsage imports rdr_env (Set.elems uses)
  
 -       ; traceRn (ptext (sLit "Import usage") <+> ppr usage)
 +       ; traceRn (vcat [ ptext (sLit "Uses:") <+> ppr (Set.elems uses)
 +                       , ptext (sLit "Import usage") <+> ppr usage])
-        ; ifDOptM Opt_WarnUnusedImports $
+        ; ifWOptM Opt_WarnUnusedImports $
           mapM_ warnUnusedImport usage
  
         ; ifDOptM Opt_D_dump_minimal_imports $
Simple merge
@@@ -597,12 -599,16 +599,19 @@@ keyword = bol
  class Outputable a where
        ppr :: a -> SDoc
        pprPrec :: Rational -> a -> SDoc
 -      
 +              -- 0 binds least tightly
 +              -- We use Rational because there is always a
 +              -- Rational between any other two Rationals
 +
        ppr = pprPrec 0
        pprPrec _ = ppr
+ class PlatformOutputable a where
+       pprPlatform :: Platform -> a -> SDoc
+       pprPlatformPrec :: Platform -> Rational -> a -> SDoc
+       
+       pprPlatform platform = pprPlatformPrec platform 0
+       pprPlatformPrec platform _ = pprPlatform platform
  \end{code}
  
  \begin{code}