diff --git a/ghc/compiler/utils/Outputable.lhs b/ghc/compiler/utils/Outputable.lhs index bd33b865d867916677850a4bd4c1ec32d7ccedb9..1ddb112812088751c80137626ae289381f79a198 100644 --- a/ghc/compiler/utils/Outputable.lhs +++ b/ghc/compiler/utils/Outputable.lhs @@ -340,8 +340,6 @@ pprQuotedList xs = hsep (punctuate comma (map (quotes . ppr) xs)) \end{code} - - %************************************************************************ %* * \subsection{Printing numbers verbally} @@ -386,22 +384,21 @@ speakNTimes t | t == 1 = ptext SLIT("once") \begin{code} pprPanic :: String -> SDoc -> a -pprPanic heading pretty_msg = panic (show (doc PprDebug)) - where - doc = text heading <+> pretty_msg - pprError :: String -> SDoc -> a -pprError heading pretty_msg = error (heading++ " " ++ (showSDoc pretty_msg)) - pprTrace :: String -> SDoc -> a -> a -pprTrace heading pretty_msg = trace (show (doc PprDebug)) - where - doc = text heading <+> pretty_msg +pprPanic = pprAndThen panic +pprError = pprAndThen error +pprTrace = pprAndThen trace pprPanic# heading pretty_msg = panic# (show (doc PprDebug)) where doc = text heading <+> pretty_msg +pprAndThen :: (String -> a) -> String -> SDoc -> a +pprAndThen cont heading pretty_msg = cont (show (doc PprDebug)) + where + doc = text heading <+> pretty_msg + assertPprPanic :: String -> Int -> SDoc -> a assertPprPanic file line msg = panic (show (doc PprDebug))