diff options
Diffstat (limited to 'compiler/utils')
-rw-r--r-- | compiler/utils/Outputable.hs | 6 | ||||
-rw-r--r-- | compiler/utils/Outputable.hs-boot | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/compiler/utils/Outputable.hs b/compiler/utils/Outputable.hs index b3d77aa843..768d247bf0 100644 --- a/compiler/utils/Outputable.hs +++ b/compiler/utils/Outputable.hs @@ -1199,7 +1199,7 @@ pprTraceException heading doc = pprSTrace :: HasCallStack => SDoc -> a -> a pprSTrace doc = pprTrace "" (doc $$ callStackDoc) -warnPprTrace :: Bool -> String -> Int -> SDoc -> a -> a +warnPprTrace :: HasCallStack => Bool -> String -> Int -> SDoc -> a -> a -- ^ Just warn about an assertion failure, recording the given file and line number. -- Should typically be accessed with the WARN macros warnPprTrace _ _ _ _ x | not debugIsOn = x @@ -1207,7 +1207,9 @@ warnPprTrace _ _file _line _msg x | hasNoDebugOutput unsafeGlobalDynFlags = x warnPprTrace False _file _line _msg x = x warnPprTrace True file line msg x - = pprDebugAndThen unsafeGlobalDynFlags trace heading msg x + = pprDebugAndThen unsafeGlobalDynFlags trace heading + (msg $$ callStackDoc ) + x where heading = hsep [text "WARNING: file", text file <> comma, text "line", int line] diff --git a/compiler/utils/Outputable.hs-boot b/compiler/utils/Outputable.hs-boot index ad7d091833..fb3c173a33 100644 --- a/compiler/utils/Outputable.hs-boot +++ b/compiler/utils/Outputable.hs-boot @@ -1,11 +1,12 @@ module Outputable where import GhcPrelude +import GHC.Stack( HasCallStack ) data SDoc showSDocUnsafe :: SDoc -> String -warnPprTrace :: Bool -> String -> Int -> SDoc -> a -> a +warnPprTrace :: HasCallStack => Bool -> String -> Int -> SDoc -> a -> a text :: String -> SDoc |