error message fix (#1758)
[ghc-hetmet.git] / compiler / iface / LoadIface.lhs
index 6835fe6..e4ac075 100644 (file)
@@ -6,6 +6,13 @@
 Loading interface files
 
 \begin{code}
+{-# OPTIONS -w #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+--     http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- for details
+
 module LoadIface (
        loadInterface, loadInterfaceForName, loadWiredInHomeIface, 
        loadSrcInterface, loadSysInterface, loadOrphanModules, 
@@ -300,8 +307,8 @@ loadInterface doc_str mod from
 
 badDepMsg mod 
   = hang (ptext SLIT("Interface file inconsistency:"))
-       2 (sep [ptext SLIT("home-package module") <+> quotes (ppr mod) <+> ptext SLIT("is mentioned is needed,"), 
-              ptext SLIT("but is not among the dependencies of interfaces directly imported by the module being compiled")])
+       2 (sep [ptext SLIT("home-package module") <+> quotes (ppr mod) <+> ptext SLIT("is needed,"), 
+              ptext SLIT("but is not listed in the dependencies of the interfaces directly imported by the module being compiled")])
 
 -----------------------------------------------------
 --     Loading type/class/value decls
@@ -336,9 +343,9 @@ loadDecl :: Bool                -- Don't load pragmas into the decl pool
 loadDecl ignore_prags mod (_version, decl)
   = do         {       -- Populate the name cache with final versions of all 
                -- the names associated with the decl
-         main_name      <- mk_new_bndr mod (ifName decl)
+         main_name      <- lookupOrig mod (ifName decl)
 --        ; traceIf (text "Loading decl for " <> ppr main_name)
-       ; implicit_names <- mapM (mk_new_bndr mod) (ifaceDeclSubBndrs decl)
+       ; implicit_names <- mapM (lookupOrig mod) (ifaceDeclSubBndrs decl)
 
        -- Typecheck the thing, lazily
        -- NB. Firstly, the laziness is there in case we never need the
@@ -383,15 +390,6 @@ loadDecl ignore_prags mod (_version, decl)
                -- as the TyThings.  That way we can extend the PTE without poking the
                -- thunks
   where
-       -- mk_new_bndr allocates in the name cache the final canonical
-       -- name for the thing, with the correct 
-       --      * parent
-       --      * location
-       -- imported name, to fix the module correctly in the cache
-    mk_new_bndr mod occ 
-       = newGlobalBinder mod occ (importedSrcSpan (moduleNameFS (moduleName mod)))
-                       -- ToDo: qualify with the package name if necessary
-
     doc = ptext SLIT("Declaration for") <+> ppr (ifName decl)
 
 bumpDeclStats :: Name -> IfL ()                -- Record that one more declaration has actually been used
@@ -593,6 +591,7 @@ pprModIface iface
                <+> ppr (mi_mod_vers iface) <+> pp_sub_vers
                <+> (if mi_orphan iface then ptext SLIT("[orphan module]") else empty)
                <+> (if mi_finsts iface then ptext SLIT("[family instance module]") else empty)
+               <+> (if mi_hpc    iface then ptext SLIT("[hpc]") else empty)
                <+> integer opt_HiVersion
                <+> ptext SLIT("where")
        , vcat (map pprExport (mi_exports iface))
@@ -605,7 +604,7 @@ pprModIface iface
        , vcat (map ppr (mi_rules iface))
         , pprVectInfo (mi_vect_info iface)
        , pprDeprecs (mi_deprecs iface)
-       ]
+       ]
   where
     pp_boot | mi_boot iface = ptext SLIT("[boot]")
            | otherwise     = empty