summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/deSugar/DsBinds.hs2
-rw-r--r--libraries/base/GHC/Conc/Sync.hs4
-rw-r--r--libraries/base/tests/all.T4
-rw-r--r--libraries/base/tests/readFloat.stderr2
-rw-r--r--libraries/base/tests/topHandler04.hs5
-rw-r--r--libraries/base/tests/topHandler04.stderr2
m---------libraries/hpc0
-rw-r--r--testsuite/driver/testlib.py4
-rw-r--r--testsuite/tests/array/should_run/arr003.stderr2
-rw-r--r--testsuite/tests/array/should_run/arr004.stderr2
-rw-r--r--testsuite/tests/array/should_run/arr007.stderr2
-rw-r--r--testsuite/tests/array/should_run/arr008.stderr2
-rw-r--r--testsuite/tests/codeGen/should_run/T5626.stderr3
-rw-r--r--testsuite/tests/codeGen/should_run/cgrun016.stderr2
-rw-r--r--testsuite/tests/codeGen/should_run/cgrun045.stderr2
-rw-r--r--testsuite/tests/codeGen/should_run/cgrun051.stderr2
-rw-r--r--testsuite/tests/codeGen/should_run/cgrun059.stderr2
-rw-r--r--testsuite/tests/concurrent/should_run/conc021.stderr2
-rw-r--r--testsuite/tests/deriving/should_run/T5628.stderr2
-rw-r--r--testsuite/tests/driver/sigof02/sigof02.stderr3
-rw-r--r--testsuite/tests/driver/sigof02/sigof02m.stderr3
-rw-r--r--testsuite/tests/ffi/should_run/ffi008.stderr2
-rw-r--r--testsuite/tests/ffi/should_run/fptrfail01.stderr2
-rw-r--r--testsuite/tests/ghc-e/should_run/ghc-e005.stderr2
-rw-r--r--testsuite/tests/safeHaskell/safeLanguage/SafeLang09.stderr2
-rw-r--r--testsuite/tests/simplCore/should_fail/T7411.stderr4
-rw-r--r--testsuite/tests/simplCore/should_run/T457.stderr2
-rw-r--r--testsuite/tests/simplCore/should_run/T5587.stderr2
-rw-r--r--testsuite/tests/simplCore/should_run/T5625.stderr3
-rw-r--r--testsuite/tests/stranal/should_run/strun002.stderr2
30 files changed, 66 insertions, 7 deletions
diff --git a/compiler/deSugar/DsBinds.hs b/compiler/deSugar/DsBinds.hs
index 55c82dd0dc..65760931f6 100644
--- a/compiler/deSugar/DsBinds.hs
+++ b/compiler/deSugar/DsBinds.hs
@@ -1014,7 +1014,7 @@ dsEvCallStack cs = do
let srcLocTy = mkTyConTy srcLocTyCon
let mkSrcLoc l =
liftM (mkCoreConApps srcLocDataCon)
- (sequence [ mkStringExprFS (packageKeyFS $ modulePackageKey m)
+ (sequence [ mkStringExpr (showPpr df $ modulePackageKey m)
, mkStringExprFS (moduleNameFS $ moduleName m)
, mkStringExprFS (srcSpanFile l)
, return $ mkIntExprInt df (srcSpanStartLine l)
diff --git a/libraries/base/GHC/Conc/Sync.hs b/libraries/base/GHC/Conc/Sync.hs
index 48a3b2a4c6..c417226da9 100644
--- a/libraries/base/GHC/Conc/Sync.hs
+++ b/libraries/base/GHC/Conc/Sync.hs
@@ -875,9 +875,7 @@ uncaughtExceptionHandler = unsafePerformIO (newIORef defaultHandler)
(hFlush stdout) `catchAny` (\ _ -> return ())
let msg = case cast ex of
Just Deadlock -> "no threads to run: infinite loop or deadlock?"
- _ -> case cast ex of
- Just (ErrorCall s) -> s
- _ -> showsPrec 0 se ""
+ _ -> showsPrec 0 se ""
withCString "%s" $ \cfmt ->
withCString msg $ \cmsg ->
errorBelch cfmt cmsg
diff --git a/libraries/base/tests/all.T b/libraries/base/tests/all.T
index 96cb551a26..f53ad0cb80 100644
--- a/libraries/base/tests/all.T
+++ b/libraries/base/tests/all.T
@@ -162,6 +162,10 @@ test('topHandler03',
ignore_output,
signal_exit_code(15)
], compile_and_run, [''])
+test('topHandler04',
+ [when(opsys('mingw32'), skip),
+ exit_code(1)
+ ], compile_and_run, [''])
test('T8766',
diff --git a/libraries/base/tests/readFloat.stderr b/libraries/base/tests/readFloat.stderr
index 929906187e..99049a35b7 100644
--- a/libraries/base/tests/readFloat.stderr
+++ b/libraries/base/tests/readFloat.stderr
@@ -1 +1,3 @@
readFloat: Prelude.read: no parse
+CallStack:
+ error, called at libraries/base/Text/Read.hs:90:17 in base:Text.Read
diff --git a/libraries/base/tests/topHandler04.hs b/libraries/base/tests/topHandler04.hs
new file mode 100644
index 0000000000..ae669a07b4
--- /dev/null
+++ b/libraries/base/tests/topHandler04.hs
@@ -0,0 +1,5 @@
+import Control.Exception
+
+-- test that the out-of-band data in an ErrorCall exception is printed
+
+main = throw (ErrorCallWithLocation "error" "out-of-band")
diff --git a/libraries/base/tests/topHandler04.stderr b/libraries/base/tests/topHandler04.stderr
new file mode 100644
index 0000000000..e9bba9e480
--- /dev/null
+++ b/libraries/base/tests/topHandler04.stderr
@@ -0,0 +1,2 @@
+topHandler04: error
+out-of-band
diff --git a/libraries/hpc b/libraries/hpc
-Subproject 315b78ac8fe7b42912d2146783b0366f6b0e950
+Subproject 886429bf84097bbc16cdb6602b60ba1b9156cf6
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py
index 34a3fb8754..5ca17f2484 100644
--- a/testsuite/driver/testlib.py
+++ b/testsuite/driver/testlib.py
@@ -1691,9 +1691,9 @@ def normalise_callstacks(str):
def repl(matches):
location = matches.group(1)
location = normalise_slashes_(location)
- return ', called at {}:<line>:<column> in'.format(location)
+ return ', called at {}:<line>:<column> in <package-id>:'.format(location)
# Ignore line number differences in call stacks (#10834).
- return re.sub(', called at (.+):[\\d]+:[\\d]+ in', repl, str)
+ return re.sub(', called at (.+):[\\d]+:[\\d]+ in [\\w\-\.]+:', repl, str)
def normalise_errmsg( str ):
# remove " error:" and lower-case " Warning:" to make patch for
diff --git a/testsuite/tests/array/should_run/arr003.stderr b/testsuite/tests/array/should_run/arr003.stderr
index 8f3945286b..bffb356a6d 100644
--- a/testsuite/tests/array/should_run/arr003.stderr
+++ b/testsuite/tests/array/should_run/arr003.stderr
@@ -1 +1,3 @@
arr003: Ix{Int}.index: Index (4) out of range ((1,3))
+CallStack:
+ error, called at libraries/base/GHC/Arr.hs:176:5 in base:GHC.Arr
diff --git a/testsuite/tests/array/should_run/arr004.stderr b/testsuite/tests/array/should_run/arr004.stderr
index b69cbf5b62..b053770e1a 100644
--- a/testsuite/tests/array/should_run/arr004.stderr
+++ b/testsuite/tests/array/should_run/arr004.stderr
@@ -1 +1,3 @@
arr004: (Array.!): undefined array element
+CallStack:
+ error, called at libraries/base/GHC/Arr.hs:402:16 in base:GHC.Arr
diff --git a/testsuite/tests/array/should_run/arr007.stderr b/testsuite/tests/array/should_run/arr007.stderr
index feaa5d8363..f23cb319d9 100644
--- a/testsuite/tests/array/should_run/arr007.stderr
+++ b/testsuite/tests/array/should_run/arr007.stderr
@@ -1 +1,3 @@
arr007: Ix{Int}.index: Index (1) out of range ((1,0))
+CallStack:
+ error, called at libraries/base/GHC/Arr.hs:176:5 in base:GHC.Arr
diff --git a/testsuite/tests/array/should_run/arr008.stderr b/testsuite/tests/array/should_run/arr008.stderr
index f926f7288c..b3cf392eb3 100644
--- a/testsuite/tests/array/should_run/arr008.stderr
+++ b/testsuite/tests/array/should_run/arr008.stderr
@@ -1 +1,3 @@
arr008: Ix{Int}.index: Index (2) out of range ((0,1))
+CallStack:
+ error, called at libraries/base/GHC/Arr.hs:176:5 in base:GHC.Arr
diff --git a/testsuite/tests/codeGen/should_run/T5626.stderr b/testsuite/tests/codeGen/should_run/T5626.stderr
index df9cfc932a..a97f66c30e 100644
--- a/testsuite/tests/codeGen/should_run/T5626.stderr
+++ b/testsuite/tests/codeGen/should_run/T5626.stderr
@@ -1 +1,4 @@
T5626: Prelude.undefined
+CallStack:
+ error, called at libraries/base/GHC/Err.hs:42:14 in base:GHC.Err
+ undefined, called at T5626.hs:6:30 in main:Main
diff --git a/testsuite/tests/codeGen/should_run/cgrun016.stderr b/testsuite/tests/codeGen/should_run/cgrun016.stderr
index 03635bfa36..dba44be468 100644
--- a/testsuite/tests/codeGen/should_run/cgrun016.stderr
+++ b/testsuite/tests/codeGen/should_run/cgrun016.stderr
@@ -1 +1,3 @@
cgrun016: 6th call to error
+CallStack:
+ error, called at cgrun016.hs:8:8 in main:Main
diff --git a/testsuite/tests/codeGen/should_run/cgrun045.stderr b/testsuite/tests/codeGen/should_run/cgrun045.stderr
index 711048f792..4c7719b1c8 100644
--- a/testsuite/tests/codeGen/should_run/cgrun045.stderr
+++ b/testsuite/tests/codeGen/should_run/cgrun045.stderr
@@ -1 +1,3 @@
cgrun045: hello world!
+CallStack:
+ error, called at cgrun045.hs:6:13 in main:Main
diff --git a/testsuite/tests/codeGen/should_run/cgrun051.stderr b/testsuite/tests/codeGen/should_run/cgrun051.stderr
index fddcb81968..0a96a43628 100644
--- a/testsuite/tests/codeGen/should_run/cgrun051.stderr
+++ b/testsuite/tests/codeGen/should_run/cgrun051.stderr
@@ -1 +1,3 @@
cgrun051: OK
+CallStack:
+ error, called at cgrun051.hs:7:25 in main:Main
diff --git a/testsuite/tests/codeGen/should_run/cgrun059.stderr b/testsuite/tests/codeGen/should_run/cgrun059.stderr
index 005f06e295..15000537aa 100644
--- a/testsuite/tests/codeGen/should_run/cgrun059.stderr
+++ b/testsuite/tests/codeGen/should_run/cgrun059.stderr
@@ -1 +1,3 @@
cgrun059: Error: File not found
+CallStack:
+ error, called at cgrun059.hs:12:28 in main:Main
diff --git a/testsuite/tests/concurrent/should_run/conc021.stderr b/testsuite/tests/concurrent/should_run/conc021.stderr
index 78e92140e6..c7348b77bd 100644
--- a/testsuite/tests/concurrent/should_run/conc021.stderr
+++ b/testsuite/tests/concurrent/should_run/conc021.stderr
@@ -1 +1,3 @@
conc021: wurble
+CallStack:
+ error, called at conc021.hs:9:9 in main:Main
diff --git a/testsuite/tests/deriving/should_run/T5628.stderr b/testsuite/tests/deriving/should_run/T5628.stderr
index 89992b70c2..edc44bd3b1 100644
--- a/testsuite/tests/deriving/should_run/T5628.stderr
+++ b/testsuite/tests/deriving/should_run/T5628.stderr
@@ -1 +1,3 @@
T5628: Void ==
+CallStack:
+ error, called at T5628.hs:5:1 in main:Main
diff --git a/testsuite/tests/driver/sigof02/sigof02.stderr b/testsuite/tests/driver/sigof02/sigof02.stderr
index 264efdacb0..1dc1beb935 100644
--- a/testsuite/tests/driver/sigof02/sigof02.stderr
+++ b/testsuite/tests/driver/sigof02/sigof02.stderr
@@ -1 +1,4 @@
StrictMain: Prelude.undefined
+CallStack:
+ error, called at libraries/base/GHC/Err.hs:42:14 in base:GHC.Err
+ undefined, called at Main.hs:6:22 in main:Main
diff --git a/testsuite/tests/driver/sigof02/sigof02m.stderr b/testsuite/tests/driver/sigof02/sigof02m.stderr
index 264efdacb0..1dc1beb935 100644
--- a/testsuite/tests/driver/sigof02/sigof02m.stderr
+++ b/testsuite/tests/driver/sigof02/sigof02m.stderr
@@ -1 +1,4 @@
StrictMain: Prelude.undefined
+CallStack:
+ error, called at libraries/base/GHC/Err.hs:42:14 in base:GHC.Err
+ undefined, called at Main.hs:6:22 in main:Main
diff --git a/testsuite/tests/ffi/should_run/ffi008.stderr b/testsuite/tests/ffi/should_run/ffi008.stderr
index cc538ee68c..78605178a6 100644
--- a/testsuite/tests/ffi/should_run/ffi008.stderr
+++ b/testsuite/tests/ffi/should_run/ffi008.stderr
@@ -1 +1,3 @@
ffi008: this is an error
+CallStack:
+ error, called at ffi008.hs:12:12 in main:Main
diff --git a/testsuite/tests/ffi/should_run/fptrfail01.stderr b/testsuite/tests/ffi/should_run/fptrfail01.stderr
index db50b2e01b..5193181ea9 100644
--- a/testsuite/tests/ffi/should_run/fptrfail01.stderr
+++ b/testsuite/tests/ffi/should_run/fptrfail01.stderr
@@ -1 +1,3 @@
fptrfail01: GHC.ForeignPtr: attempt to mix Haskell and C finalizers in the same ForeignPtr
+CallStack:
+ error, called at libraries/base/GHC/ForeignPtr.hs:352:17 in base:GHC.ForeignPtr
diff --git a/testsuite/tests/ghc-e/should_run/ghc-e005.stderr b/testsuite/tests/ghc-e/should_run/ghc-e005.stderr
index 34cecca662..5836586c79 100644
--- a/testsuite/tests/ghc-e/should_run/ghc-e005.stderr
+++ b/testsuite/tests/ghc-e/should_run/ghc-e005.stderr
@@ -1 +1,3 @@
ghc-e005-prog: foo
+CallStack:
+ error, called at ghc-e005.hs:12:10 in main:Main
diff --git a/testsuite/tests/safeHaskell/safeLanguage/SafeLang09.stderr b/testsuite/tests/safeHaskell/safeLanguage/SafeLang09.stderr
index 27d951e959..f752129770 100644
--- a/testsuite/tests/safeHaskell/safeLanguage/SafeLang09.stderr
+++ b/testsuite/tests/safeHaskell/safeLanguage/SafeLang09.stderr
@@ -1 +1,3 @@
SafeLang09: This curry is poisoned!
+CallStack:
+ error, called at ./SafeLang09_B.hs:14:13 in main:SafeLang09_B
diff --git a/testsuite/tests/simplCore/should_fail/T7411.stderr b/testsuite/tests/simplCore/should_fail/T7411.stderr
index c02ad804a3..59c0617e9b 100644
--- a/testsuite/tests/simplCore/should_fail/T7411.stderr
+++ b/testsuite/tests/simplCore/should_fail/T7411.stderr
@@ -1,2 +1,4 @@
T7411: Prelude.undefined
-
+CallStack:
+ error, called at libraries/base/GHC/Err.hs:42:14 in base:GHC.Err
+ undefined, called at T7411.hs:3:25 in main:Main
diff --git a/testsuite/tests/simplCore/should_run/T457.stderr b/testsuite/tests/simplCore/should_run/T457.stderr
index 0a18be29f3..983c8dba39 100644
--- a/testsuite/tests/simplCore/should_run/T457.stderr
+++ b/testsuite/tests/simplCore/should_run/T457.stderr
@@ -1 +1,3 @@
T457: Correct
+CallStack:
+ error, called at T457.hs:5:22 in main:Main
diff --git a/testsuite/tests/simplCore/should_run/T5587.stderr b/testsuite/tests/simplCore/should_run/T5587.stderr
index cdf7675dbe..d98a36d986 100644
--- a/testsuite/tests/simplCore/should_run/T5587.stderr
+++ b/testsuite/tests/simplCore/should_run/T5587.stderr
@@ -1 +1,3 @@
T5587: hidden error
+CallStack:
+ error, called at T5587.hs:7:15 in main:Main
diff --git a/testsuite/tests/simplCore/should_run/T5625.stderr b/testsuite/tests/simplCore/should_run/T5625.stderr
index 7ba039edc7..f272d99787 100644
--- a/testsuite/tests/simplCore/should_run/T5625.stderr
+++ b/testsuite/tests/simplCore/should_run/T5625.stderr
@@ -1 +1,4 @@
T5625: Prelude.undefined
+CallStack:
+ error, called at libraries/base/GHC/Err.hs:42:14 in base:GHC.Err
+ undefined, called at T5625.hs:3:31 in main:Main
diff --git a/testsuite/tests/stranal/should_run/strun002.stderr b/testsuite/tests/stranal/should_run/strun002.stderr
index ac89b7f80b..2e2f85b780 100644
--- a/testsuite/tests/stranal/should_run/strun002.stderr
+++ b/testsuite/tests/stranal/should_run/strun002.stderr
@@ -1 +1,3 @@
strun002: Variable not found: (2) hello
+CallStack:
+ error, called at strun002.hs:7:11 in main:Main