From: sof Date: Mon, 9 Feb 1998 12:58:13 +0000 (+0000) Subject: [project @ 1998-02-09 12:58:10 by sof] X-Git-Tag: Approx_2487_patches~977 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=ac91dafa39523690ef84ab3433598b19ac6b564a;p=ghc-hetmet.git [project @ 1998-02-09 12:58:10 by sof] New debug flag: -dshow-rn-imports, dump to stderr the paths to the interface files that are slurped. --- diff --git a/ghc/compiler/main/CmdLineOpts.lhs b/ghc/compiler/main/CmdLineOpts.lhs index c9278fe..0f12e51 100644 --- a/ghc/compiler/main/CmdLineOpts.lhs +++ b/ghc/compiler/main/CmdLineOpts.lhs @@ -37,6 +37,7 @@ module CmdLineOpts ( opt_D_dump_tc, opt_D_show_passes, opt_D_show_rn_trace, + opt_D_show_rn_imports, opt_D_simplifier_stats, opt_D_source_stats, opt_D_verbose_core2core, @@ -290,6 +291,7 @@ opt_D_dump_stranal = lookUp SLIT("-ddump-stranal") opt_D_dump_tc = lookUp SLIT("-ddump-tc") opt_D_show_passes = lookUp SLIT("-dshow-passes") opt_D_show_rn_trace = lookUp SLIT("-dshow-rn-trace") +opt_D_show_rn_imports = lookUp SLIT("-dshow-rn-imports") opt_D_simplifier_stats = lookUp SLIT("-dsimplifier-stats") opt_D_source_stats = lookUp SLIT("-dsource-stats") opt_D_verbose_core2core = lookUp SLIT("-dverbose-simpl") diff --git a/ghc/compiler/rename/RnIfaces.lhs b/ghc/compiler/rename/RnIfaces.lhs index fc92aca..d52d886 100644 --- a/ghc/compiler/rename/RnIfaces.lhs +++ b/ghc/compiler/rename/RnIfaces.lhs @@ -20,7 +20,7 @@ module RnIfaces ( #include "HsVersions.h" import CmdLineOpts ( opt_PruneTyDecls, opt_PruneInstDecls, - opt_IgnoreIfacePragmas + opt_D_show_rn_imports, opt_IgnoreIfacePragmas ) import HsSyn ( HsDecl(..), TyDecl(..), ClassDecl(..), InstDecl(..), IfaceSig(..), HsType(..), ConDecl(..), IE(..), ConDetails(..), Sig(..), @@ -977,22 +977,24 @@ findAndReadIface doc_str mod_name as_source file_path = dir ++ '/' : moduleString mod_name ++ (mod_suffix hisuf) \end{code} -@readIface@ trys just one file. +@readIface@ tries just the one file. \begin{code} readIface :: String -> RnMG (Maybe ParsedIface) -- Nothing <=> file not found, or unreadable, or illegible -- Just x <=> successfully found and parsed readIface file_path - = ioToRnMG (hGetStringBuffer file_path) `thenRn` \ read_result -> - --traceRn (hcat[ptext SLIT("Opening...."), text file_path]) `thenRn_` + = ioToRnMG (hGetStringBuffer file_path) `thenRn` \ read_result -> case read_result of Right contents -> case parseIface contents (mkSrcLoc (mkFastString file_path) 1) of - Failed err -> - failWithRn Nothing err + Failed err -> failWithRn Nothing err Succeeded (PIface iface) -> - returnRn (Just iface) + if opt_D_show_rn_imports then + putDocRn (hcat[ptext SLIT("Read "), text file_path]) `thenRn_` + returnRn (Just iface) + else + returnRn (Just iface) Left err -> if isDoesNotExistError err then