Replace debugging trace with a proper WARN
authorMatthew Pickering <matthewtpickering@gmail.com>
Sun, 12 Mar 2017 19:15:05 +0000 (15:15 -0400)
committerBen Gamari <ben@smart-cactus.org>
Mon, 13 Mar 2017 17:53:35 +0000 (13:53 -0400)
Reviewers: austin, bgamari

Reviewed By: bgamari

Subscribers: rwbarton, thomie

Differential Revision: https://phabricator.haskell.org/D3326

compiler/utils/Outputable.hs-boot
compiler/utils/Util.hs

index e5e8895..980c186 100644 (file)
@@ -3,3 +3,7 @@ module Outputable where
 data SDoc
 
 showSDocUnsafe :: SDoc -> String
+
+warnPprTrace :: Bool -> String -> Int -> SDoc -> a -> a
+
+text :: String -> SDoc
index 5c09959..30026c5 100644 (file)
@@ -164,6 +164,10 @@ import qualified Data.Set as Set
 
 import Data.Time
 
+#ifdef DEBUG
+import {-# SOURCE #-} Outputable ( warnPprTrace, text )
+#endif
+
 infixr 9 `thenCmp`
 
 {-
@@ -558,7 +562,7 @@ isIn msg x ys
     elem100 :: Eq a => Int -> a -> [a] -> Bool
     elem100 _ _ [] = False
     elem100 i x (y:ys)
-      | i > 100 = trace ("Over-long elem in " ++ msg) (x `elem` (y:ys))
+      | i > 100 = WARN(True, text ("Over-long elem in " ++ msg)) (x `elem` (y:ys))
       | otherwise = x == y || elem100 (i + 1) x ys
 
 isn'tIn msg x ys
@@ -567,7 +571,7 @@ isn'tIn msg x ys
     notElem100 :: Eq a => Int -> a -> [a] -> Bool
     notElem100 _ _ [] =  True
     notElem100 i x (y:ys)
-      | i > 100 = trace ("Over-long notElem in " ++ msg) (x `notElem` (y:ys))
+      | i > 100 = WARN(True, text ("Over-long notElem in " ++ msg)) (x `notElem` (y:ys))
       | otherwise = x /= y && notElem100 (i + 1) x ys
 # endif /* DEBUG */