X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fiface%2FLoadIface.lhs;h=fce5c1d00cca27bd7304a016d2790212a565a5bb;hp=4ef589dbbd0182a37c1a4a4d0e73ecc20e12a4a8;hb=311b1cdfc9b1c311cc53482c461c18cba8885b2a;hpb=8a5d47de2b82d9cca86546a7bd89d915488934ef diff --git a/compiler/iface/LoadIface.lhs b/compiler/iface/LoadIface.lhs index 4ef589d..fce5c1d 100644 --- a/compiler/iface/LoadIface.lhs +++ b/compiler/iface/LoadIface.lhs @@ -88,8 +88,10 @@ loadSrcInterface doc mod want_boot = do failWithTc (cannotFindInterface dflags mod err) -- | Load interfaces for a collection of orphan modules. -loadOrphanModules :: [Module] -> TcM () -loadOrphanModules mods +loadOrphanModules :: [Module] -- the modules + -> Bool -- these are family instance-modules + -> TcM () +loadOrphanModules mods isFamInstMod | null mods = returnM () | otherwise = initIfaceTcRn $ do { traceIf (text "Loading orphan modules:" <+> @@ -98,7 +100,9 @@ loadOrphanModules mods ; returnM () } where load mod = loadSysInterface (mk_doc mod) mod - mk_doc mod = ppr mod <+> ptext SLIT("is a orphan-instance module") + mk_doc mod + | isFamInstMod = ppr mod <+> ptext SLIT("is a family-instance module") + | otherwise = ppr mod <+> ptext SLIT("is a orphan-instance module") -- | Loads the interface for a given Name. loadInterfaceForName :: SDoc -> Name -> TcRn ModIface @@ -528,6 +532,7 @@ pprModIface iface <+> ppr (mi_module iface) <+> pp_boot <+> 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) <+> int opt_HiVersion <+> ptext SLIT("where") , vcat (map pprExport (mi_exports iface)) @@ -583,10 +588,12 @@ pprUsage usage pp_export_version (Just v) = int v pprDeps :: Dependencies -> SDoc -pprDeps (Deps { dep_mods = mods, dep_pkgs = pkgs, dep_orphs = orphs}) +pprDeps (Deps { dep_mods = mods, dep_pkgs = pkgs, dep_orphs = orphs, + dep_finsts = finsts }) = vcat [ptext SLIT("module dependencies:") <+> fsep (map ppr_mod mods), ptext SLIT("package dependencies:") <+> fsep (map ppr pkgs), - ptext SLIT("orphans:") <+> fsep (map ppr orphs) + ptext SLIT("orphans:") <+> fsep (map ppr orphs), + ptext SLIT("family instance modules:") <+> fsep (map ppr finsts) ] where ppr_mod (mod_name, boot) = ppr mod_name <+> ppr_boot boot