From ac91dafa39523690ef84ab3433598b19ac6b564a Mon Sep 17 00:00:00 2001
From: sof <unknown>
Date: Mon, 9 Feb 1998 12:58:13 +0000
Subject: [PATCH] [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.

---
 ghc/compiler/main/CmdLineOpts.lhs |  2 ++
 ghc/compiler/rename/RnIfaces.lhs  | 16 +++++++++-------
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/ghc/compiler/main/CmdLineOpts.lhs b/ghc/compiler/main/CmdLineOpts.lhs
index c9278fe78b87..0f12e51a6158 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 fc92acabb9a0..d52d88681927 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
-- 
GitLab