
#9049: Expose srcLoc from the assertion architecture to allow better error messages -------------------------------------+------------------------------------- Reporter: nh2 | Owner: gridaphobe Type: feature | Status: patch request | Milestone: Priority: normal | Version: 7.8.2 Component: Compiler | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Unknown Unknown/Multiple | Blocked By: Type of failure: | Related Tickets: None/Unknown | Test Case: | Blocking: | Differential Revisions: Phab:D578 | -------------------------------------+------------------------------------- Comment (by rodlogic): Replying to [comment:19 gridaphobe]:
I've sent a patch that implements [wiki:ExplicitCallStack/ImplicitLocations] to Phab (https://phabricator.haskell.org/D578). This is great. I would have taken me quite a while to get there.
In your patch you mention that you didn't change base at this point, could we at least change GHC.Base to use it and add a new assertMsg? This would basically cover the ASSERT macros that exist in HsVersions.h: {{{ #define ASSERT(e) if debugIsOn && not (e) then (assertPanic __FILE__ __LINE__) else #define ASSERT2(e,msg) if debugIsOn && not (e) then (assertPprPanic __FILE__ __LINE__ (msg)) else #define MASSERT(e) ASSERT(e) return () #define MASSERT2(e,msg) ASSERT2(e,msg) return () #define ASSERTM(e) do { bool <- e; MASSERT(bool) } #define ASSERTM2(e,msg) do { bool <- e; MASSERT2(bool,msg) } }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9049#comment:21 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler