X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fiface%2FLoadIface.lhs;h=e6c8f636dc5046d7e7cc927f8056215132b2a83a;hb=8e325220e14e05e83fef46a195e7f05fe2d49433;hp=00e9e7a26f86b915ebf1a6dbb16701c86cabc941;hpb=7fa861d23122d4d6a3053c09b5c636bad0478ad3;p=ghc-hetmet.git diff --git a/compiler/iface/LoadIface.lhs b/compiler/iface/LoadIface.lhs index 00e9e7a..e6c8f63 100644 --- a/compiler/iface/LoadIface.lhs +++ b/compiler/iface/LoadIface.lhs @@ -19,7 +19,7 @@ module LoadIface ( #include "HsVersions.h" import {-# SOURCE #-} TcIface( tcIfaceDecl, tcIfaceRules, tcIfaceInst, - tcIfaceFamInst ) + tcIfaceFamInst, tcIfaceVectInfo ) import DynFlags import IfaceSyn @@ -38,7 +38,6 @@ import InstEnv import FamInstEnv import Name import NameEnv -import NameSet import MkId import Module import OccName @@ -52,7 +51,6 @@ import Outputable import BinIface import Panic -import Control.Monad (when) import Data.List import Data.Maybe import Data.IORef @@ -239,6 +237,8 @@ loadInterface doc_str mod from ; new_eps_insts <- mapM tcIfaceInst (mi_insts iface) ; new_eps_fam_insts <- mapM tcIfaceFamInst (mi_fam_insts iface) ; new_eps_rules <- tcIfaceRules ignore_prags (mi_rules iface) + ; new_eps_vect_info <- tcIfaceVectInfo mod (mkNameEnv new_eps_decls) + (mi_vect_info iface) ; let { final_iface = iface { mi_decls = panic "No mi_decls in PIT", @@ -246,11 +246,6 @@ loadInterface doc_str mod from mi_fam_insts = panic "No mi_fam_insts in PIT", mi_rules = panic "No mi_rules in PIT" } - ; new_eps_vect_info = - VectInfo { - vectInfoCCVar = mkNameSet - (ifaceVectInfoCCVar . mi_vect_info $ iface) - } } ; updateEps_ $ \ eps -> @@ -372,8 +367,7 @@ loadDecl ignore_prags mod (_version, decl) -- * location -- imported name, to fix the module correctly in the cache mk_new_bndr mod occ - = newGlobalBinder mod occ - (importedSrcLoc (showSDoc (ppr (moduleName mod)))) + = newGlobalBinder mod occ (importedSrcSpan (moduleNameFS (moduleName mod))) -- ToDo: qualify with the package name if necessary doc = ptext SLIT("Declaration for") <+> ppr (ifName decl) @@ -587,6 +581,7 @@ pprModIface iface , vcat (map ppr (mi_insts iface)) , vcat (map ppr (mi_fam_insts iface)) , vcat (map ppr (mi_rules iface)) + , pprVectInfo (mi_vect_info iface) , pprDeprecs (mi_deprecs iface) ] where @@ -659,6 +654,10 @@ pprFixities fixes = ptext SLIT("fixities") <+> pprWithCommas pprFix fixes where pprFix (occ,fix) = ppr fix <+> ppr occ +pprVectInfo :: IfaceVectInfo -> SDoc +pprVectInfo (IfaceVectInfo names) = + ptext SLIT("Closured converted:") <+> hsep (map ppr names) + pprDeprecs NoDeprecs = empty pprDeprecs (DeprecAll txt) = ptext SLIT("Deprecate all") <+> doubleQuotes (ftext txt) pprDeprecs (DeprecSome prs) = ptext SLIT("Deprecate") <+> vcat (map pprDeprec prs)