From 6c43076c1303c7501f1b3c3f4db63df6cd6702ff Mon Sep 17 00:00:00 2001
From: simonpj <unknown>
Date: Thu, 7 Jan 1999 12:47:35 +0000
Subject: [PATCH] [project @ 1999-01-07 12:47:34 by simonpj] Add debug macro
 WARN

---
 ghc/compiler/HsVersions.h         | 2 ++
 ghc/compiler/utils/Outputable.lhs | 8 ++++++++
 2 files changed, 10 insertions(+)

diff --git a/ghc/compiler/HsVersions.h b/ghc/compiler/HsVersions.h
index cd5c2207b5b9..c5663b12dcf1 100644
--- a/ghc/compiler/HsVersions.h
+++ b/ghc/compiler/HsVersions.h
@@ -15,9 +15,11 @@ you will screw up the layout where they are used in case expressions!
 #ifdef DEBUG
 #define ASSERT(e) if (not (e)) then (assertPanic __FILE__ __LINE__) else
 #define ASSERT2(e,msg) if (not (e)) then (assertPprPanic __FILE__ __LINE__ (msg)) else
+#define WARN( e, msg ) (warnPprTrace (e) __FILE__ __LINE__ (msg))
 #else
 #define ASSERT(e)
 #define ASSERT2(e,msg)
+#define WARN(e,msg)
 #endif
 
 #if __STDC__
diff --git a/ghc/compiler/utils/Outputable.lhs b/ghc/compiler/utils/Outputable.lhs
index 0e55176aa2a7..15a2acf83a8a 100644
--- a/ghc/compiler/utils/Outputable.lhs
+++ b/ghc/compiler/utils/Outputable.lhs
@@ -402,4 +402,12 @@ assertPprPanic file line msg
 		 	   text file, 
 			   text "line", int line], 
 		    msg]
+
+warnPprTrace :: Bool -> String -> Int -> SDoc -> a -> a
+warnPprTrace False file line msg x = x
+warnPprTrace True  file line msg x
+  = trace (show (doc PprDebug)) x
+  where
+    doc = sep [hsep [text "WARNING: file", text file, text "line", int line],
+	       msg]
 \end{code}
-- 
GitLab