diff options
author | Simon Marlow <marlowsd@gmail.com> | 2015-10-31 17:38:34 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2015-12-21 18:51:26 +0000 |
commit | c8c44fd91b509b9eb644c826497ed5268e89363a (patch) | |
tree | 90bc2f24a7886afb8f0036b322f839168c880057 /testsuite | |
parent | ee6fba89b066fdf8408e6a18db343a4177e613f6 (diff) | |
download | haskell-c8c44fd91b509b9eb644c826497ed5268e89363a.tar.gz |
Maintain cost-centre stacks in the interpreter
Summary:
Breakpoints become SCCs, so we have detailed call-stack info for
interpreted code. Currently this only works when GHC is compiled with
-prof, but D1562 (Remote GHCi) removes this constraint so that in the
future call stacks will be available without building your own GHCi.
How can you get a stack trace?
* programmatically: GHC.Stack.currentCallStack
* I've added an experimental :where command that shows the stack when
stopped at a breakpoint
* `error` attaches a call stack automatically, although since calls to
`error` are often lifted out to the top level, this is less useful
than it might be (ImplicitParams still works though).
* Later we might attach call stacks to all exceptions
Other related changes in this diff:
* I reduced the number of places that get ticks attached for
breakpoints. In particular there was a breakpoint around the whole
declaration, which was often redundant because it bound no variables.
This reduces clutter in the stack traces and speeds up compilation.
* I tidied up some RealSrcSpan stuff in InteractiveUI, and made a few
other small cleanups
Test Plan: validate
Reviewers: ezyang, bgamari, austin, hvr
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1595
GHC Trac Issues: #11047
Diffstat (limited to 'testsuite')
61 files changed, 171 insertions, 276 deletions
diff --git a/testsuite/tests/ghci.debugger/scripts/T2740.script b/testsuite/tests/ghci.debugger/scripts/T2740.script index a7bd833690..68554eca2e 100644 --- a/testsuite/tests/ghci.debugger/scripts/T2740.script +++ b/testsuite/tests/ghci.debugger/scripts/T2740.script @@ -1,7 +1,6 @@ :seti -XMonomorphismRestriction :l T2740.hs :step f 1 2 3 -:step :print x :print y :force x diff --git a/testsuite/tests/ghci.debugger/scripts/T2740.stdout b/testsuite/tests/ghci.debugger/scripts/T2740.stdout index 1f3e6d9ac5..efa5b1dd1e 100644 --- a/testsuite/tests/ghci.debugger/scripts/T2740.stdout +++ b/testsuite/tests/ghci.debugger/scripts/T2740.stdout @@ -1,6 +1,4 @@ -Stopped at T2740.hs:(3,1)-(4,25) -_result :: a2 = _ -Stopped at T2740.hs:3:11-13 +Stopped in Test.f, T2740.hs:3:11-13 _result :: Bool = _ x :: Integer = 1 y :: Integer = 2 diff --git a/testsuite/tests/ghci.debugger/scripts/break001.script b/testsuite/tests/ghci.debugger/scripts/break001.script index ec02c70dcc..a4d2634feb 100644 --- a/testsuite/tests/ghci.debugger/scripts/break001.script +++ b/testsuite/tests/ghci.debugger/scripts/break001.script @@ -3,8 +3,6 @@ :b 5 f (1 :: Integer) :st -:st -:st -- Test that the binding for x is now gone :show bindings y diff --git a/testsuite/tests/ghci.debugger/scripts/break001.stdout b/testsuite/tests/ghci.debugger/scripts/break001.stdout index 02ba1bbe93..99ffda067a 100644 --- a/testsuite/tests/ghci.debugger/scripts/break001.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break001.stdout @@ -1,13 +1,9 @@ -Breakpoint 0 activated at ../Test2.hs:3:1-9 -Breakpoint 1 activated at ../Test2.hs:5:1-7 -Stopped at ../Test2.hs:3:1-9 -_result :: r = _ -Stopped at ../Test2.hs:3:7-9 +Breakpoint 0 activated at ../Test2.hs:3:7-9 +Breakpoint 1 activated at ../Test2.hs:5:7 +Stopped in Test2.f, ../Test2.hs:3:7-9 _result :: Integer = _ x :: Integer = 1 -Stopped at ../Test2.hs:5:1-7 -_result :: r = _ -Stopped at ../Test2.hs:5:7 +Stopped in Test2.g, ../Test2.hs:5:7 _result :: Integer = _ y :: Integer = 1 y :: Integer = 1 diff --git a/testsuite/tests/ghci.debugger/scripts/break003.stdout b/testsuite/tests/ghci.debugger/scripts/break003.stdout index b1aa8ba2d2..1d0844c6cc 100644 --- a/testsuite/tests/ghci.debugger/scripts/break003.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break003.stdout @@ -1,5 +1,5 @@ Breakpoint 0 activated at ../Test3.hs:2:18-31 -Stopped at ../Test3.hs:2:18-31 +Stopped in Main.mymap, ../Test3.hs:2:18-31 _result :: [t] = _ f :: t1 -> t = _ x :: t1 = _ diff --git a/testsuite/tests/ghci.debugger/scripts/break005.stdout b/testsuite/tests/ghci.debugger/scripts/break005.stdout index 65eeb56cf1..81eae63726 100644 --- a/testsuite/tests/ghci.debugger/scripts/break005.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break005.stdout @@ -1,9 +1,10 @@ -Stopped at ../QSort.hs:(4,1)-(6,55) -_result :: [t] = _ -Stopped at ../QSort.hs:5:16-51 +Stopped in QSort.qsort, ../QSort.hs:5:16-51 _result :: [Integer] = _ a :: Integer = 1 left :: [Integer] = _ right :: [Integer] = _ +Stopped in QSort.qsort, ../QSort.hs:5:17-26 +_result :: [t] = _ +left :: [t] = _ () left = [] diff --git a/testsuite/tests/ghci.debugger/scripts/break006.script b/testsuite/tests/ghci.debugger/scripts/break006.script index 38cd1e14ba..6cbc050742 100644 --- a/testsuite/tests/ghci.debugger/scripts/break006.script +++ b/testsuite/tests/ghci.debugger/scripts/break006.script @@ -1,6 +1,5 @@ :l ../Test3.hs :st mymap (+1) [1::Integer,2,3] -:st :show bindings f x -- should fail, unknown return type let y = f x @@ -11,4 +10,3 @@ y -- we know the result is Integer now f x -- should work now - diff --git a/testsuite/tests/ghci.debugger/scripts/break006.stderr b/testsuite/tests/ghci.debugger/scripts/break006.stderr index 58faa697c5..3b57eb3a64 100644 --- a/testsuite/tests/ghci.debugger/scripts/break006.stderr +++ b/testsuite/tests/ghci.debugger/scripts/break006.stderr @@ -1,9 +1,9 @@ -<interactive>:5:1: error: +<interactive>:4:1: error: • No instance for (Show t) arising from a use of ‘print’ Cannot resolve unknown runtime type ‘t’ Use :print or :force to determine these types - Relevant bindings include it :: t (bound at <interactive>:5:1) + Relevant bindings include it :: t (bound at <interactive>:4:1) These potential instances exist: instance (Show a, Show b) => Show (Either a b) -- Defined in ‘Data.Either’ @@ -14,11 +14,11 @@ (use -fprint-potential-instances to see them all) • In a stmt of an interactive GHCi command: print it -<interactive>:7:1: error: +<interactive>:6:1: error: • No instance for (Show t) arising from a use of ‘print’ Cannot resolve unknown runtime type ‘t’ Use :print or :force to determine these types - Relevant bindings include it :: t (bound at <interactive>:7:1) + Relevant bindings include it :: t (bound at <interactive>:6:1) These potential instances exist: instance (Show a, Show b) => Show (Either a b) -- Defined in ‘Data.Either’ diff --git a/testsuite/tests/ghci.debugger/scripts/break006.stdout b/testsuite/tests/ghci.debugger/scripts/break006.stdout index 374fffd29a..d8f1b65864 100644 --- a/testsuite/tests/ghci.debugger/scripts/break006.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break006.stdout @@ -1,6 +1,4 @@ -Stopped at ../Test3.hs:(1,1)-(2,31) -_result :: [t] = _ -Stopped at ../Test3.hs:2:18-31 +Stopped in Main.mymap, ../Test3.hs:2:18-31 _result :: [t] = _ f :: Integer -> t = _ x :: Integer = 1 diff --git a/testsuite/tests/ghci.debugger/scripts/break008.stdout b/testsuite/tests/ghci.debugger/scripts/break008.stdout index 6961fa3cec..1a8427fa4f 100644 --- a/testsuite/tests/ghci.debugger/scripts/break008.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break008.stdout @@ -1,3 +1,3 @@ Breakpoint 0 activated at ../Test3.hs:1:14-15 -Stopped at ../Test3.hs:1:14-15 +Stopped in Main.mymap, ../Test3.hs:1:14-15 _result :: [a] = _ diff --git a/testsuite/tests/ghci.debugger/scripts/break009.stdout b/testsuite/tests/ghci.debugger/scripts/break009.stdout index 9a4fa56446..49515cf98f 100644 --- a/testsuite/tests/ghci.debugger/scripts/break009.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break009.stdout @@ -1,5 +1,5 @@ Breakpoint 0 activated at ../Test6.hs:5:8-11 -Stopped at ../Test6.hs:5:8-11 +Stopped in Main.main, ../Test6.hs:5:8-11 _result :: a2 = _ *** Exception: Prelude.head: empty list CallStack (from ImplicitParams): diff --git a/testsuite/tests/ghci.debugger/scripts/break010.stdout b/testsuite/tests/ghci.debugger/scripts/break010.stdout index 682f4c3c1c..0bc0da7916 100644 --- a/testsuite/tests/ghci.debugger/scripts/break010.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break010.stdout @@ -1,5 +1,5 @@ Breakpoint 0 activated at ../Test6.hs:5:8-11 -Stopped at ../Test6.hs:5:8-11 +Stopped in Main.main, ../Test6.hs:5:8-11 _result :: a2 = _ -Stopped at ../Test6.hs:5:8-11 +Stopped in Main.main, ../Test6.hs:5:8-11 _result :: a2 = _ diff --git a/testsuite/tests/ghci.debugger/scripts/break011.stdout b/testsuite/tests/ghci.debugger/scripts/break011.stdout index ec0b3e9609..5839067e8c 100644 --- a/testsuite/tests/ghci.debugger/scripts/break011.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break011.stdout @@ -1,9 +1,9 @@ *** Exception: foo CallStack (from ImplicitParams): error, called at <interactive>:2:1 in interactive:Ghci1 -Stopped at <exception thrown> +Stopped in <exception thrown>, <unknown> _exception :: e = _ -Stopped at <exception thrown> +Stopped in <exception thrown>, <unknown> _exception :: e = _ -1 : main (../Test7.hs:2:18-28) -2 : main (../Test7.hs:2:8-29) @@ -15,7 +15,7 @@ _result :: IO a3 no more logged breakpoints Logged breakpoint at ../Test7.hs:2:18-28 _result :: a3 -Stopped at <exception thrown> +Stopped at <unknown> _exception :: e already at the beginning of the history _exception = SomeException @@ -32,13 +32,13 @@ _exception :: SomeException = SomeException *** Exception: foo CallStack (from ImplicitParams): error, called at ../Test7.hs:2:18 in main:Main -Stopped at <exception thrown> +Stopped in <exception thrown>, <unknown> _exception :: e = SomeException (ErrorCallWithLocation "foo" "CallStack (from ImplicitParams): error, called at ../Test7.hs:2:18 in main:Main") -Stopped at <exception thrown> +Stopped in <exception thrown>, <unknown> _exception :: e = SomeException (ErrorCallWithLocation "foo" diff --git a/testsuite/tests/ghci.debugger/scripts/break012.script b/testsuite/tests/ghci.debugger/scripts/break012.script index 749947a4a9..acb5230051 100644 --- a/testsuite/tests/ghci.debugger/scripts/break012.script +++ b/testsuite/tests/ghci.debugger/scripts/break012.script @@ -1,9 +1,8 @@ -- Test polymorphic types in a breakpoint :l break012 :st g 5 `seq` () -:st -:t a -:t b -:t c +:t a +:t b +:t c :t d :p a b c d diff --git a/testsuite/tests/ghci.debugger/scripts/break012.stdout b/testsuite/tests/ghci.debugger/scripts/break012.stdout index 6b023718dc..4eed1e61f0 100644 --- a/testsuite/tests/ghci.debugger/scripts/break012.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break012.stdout @@ -1,6 +1,4 @@ -Stopped at break012.hs:(1,1)-(5,18) -_result :: (r, a3 -> a3, (), a2 -> a2 -> a2) = _ -Stopped at break012.hs:5:10-18 +Stopped in Main.g, break012.hs:5:10-18 _result :: (r, a3 -> a3, (), a2 -> a2 -> a2) = _ a :: r = _ b :: a4 -> a4 = _ diff --git a/testsuite/tests/ghci.debugger/scripts/break013.script b/testsuite/tests/ghci.debugger/scripts/break013.script index b14e4c135f..1b0a84272d 100644 --- a/testsuite/tests/ghci.debugger/scripts/break013.script +++ b/testsuite/tests/ghci.debugger/scripts/break013.script @@ -1,5 +1,4 @@ -- Available bindings at where(s) :l break013 :st g 1 `seq` () -:st :show bindings diff --git a/testsuite/tests/ghci.debugger/scripts/break013.stdout b/testsuite/tests/ghci.debugger/scripts/break013.stdout index 13d203f0b3..52aa48ee83 100644 --- a/testsuite/tests/ghci.debugger/scripts/break013.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break013.stdout @@ -1,6 +1,4 @@ -Stopped at break013.hs:(1,1)-(4,18) -_result :: (Bool, Bool, ()) = _ -Stopped at break013.hs:1:7-13 +Stopped in Main.g, break013.hs:1:7-13 _result :: (Bool, Bool, ()) = _ a :: Bool = _ b :: Bool = _ diff --git a/testsuite/tests/ghci.debugger/scripts/break014.stdout b/testsuite/tests/ghci.debugger/scripts/break014.stdout index 3d284bf11f..9197622dc8 100644 --- a/testsuite/tests/ghci.debugger/scripts/break014.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break014.stdout @@ -1,5 +1,5 @@ Breakpoint 0 activated at break014.hs:3:15-19 -Stopped at break014.hs:3:15-19 +Stopped in Main.g.c, break014.hs:3:15-19 _result :: (Bool, Bool) = _ a :: Bool = _ b :: Bool = _ diff --git a/testsuite/tests/ghci.debugger/scripts/break017.stdout b/testsuite/tests/ghci.debugger/scripts/break017.stdout index e7e1817ecf..6c8513f00b 100644 --- a/testsuite/tests/ghci.debugger/scripts/break017.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break017.stdout @@ -1,4 +1,4 @@ -"Stopped at <exception thrown> +"Stopped in <exception thrown>, <unknown> _exception :: e = _ Logged breakpoint at ../QSort.hs:6:24-38 _result :: [Char] diff --git a/testsuite/tests/ghci.debugger/scripts/break018.script b/testsuite/tests/ghci.debugger/scripts/break018.script index 0a4c70ef5a..a30af6bfd1 100644 --- a/testsuite/tests/ghci.debugger/scripts/break018.script +++ b/testsuite/tests/ghci.debugger/scripts/break018.script @@ -1,9 +1,8 @@ -- Check mdo statements: availability of local bindings. --- Maybe we should not want to put in scope the things binded in the mdo scope, to avoid silliness. +-- Maybe we should not want to put in scope the things binded in the mdo scope, to avoid silliness. :set -XRecursiveDo :l ../mdo.hs :st l2dll "hello world" :st :st -:st diff --git a/testsuite/tests/ghci.debugger/scripts/break018.stdout b/testsuite/tests/ghci.debugger/scripts/break018.stdout index d9c6b6e06a..4ca3d6aece 100644 --- a/testsuite/tests/ghci.debugger/scripts/break018.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break018.stdout @@ -1,13 +1,14 @@ -Stopped at ../mdo.hs:(30,1)-(32,27) -_result :: IO (N a7) = _ -Stopped at ../mdo.hs:(30,16)-(32,27) +Stopped in Main.l2dll, ../mdo.hs:(30,16)-(32,27) _result :: IO (N Char) = _ x :: Char = 'h' xs :: [Char] = _ -Stopped at ../mdo.hs:30:30-42 +Stopped in Main.l2dll, ../mdo.hs:30:30-42 _result :: IO (N Char) = _ f :: N Char = _ l :: N Char = _ x :: Char = 'h' -Stopped at ../mdo.hs:(8,1)-(9,42) -_result :: IO (N a7) = _ +Stopped in Main.newNode, ../mdo.hs:(8,17)-(9,42) +_result :: IO (N Char) = _ +b :: N Char = _ +c :: Char = 'h' +f :: N Char = _ diff --git a/testsuite/tests/ghci.debugger/scripts/break020.stdout b/testsuite/tests/ghci.debugger/scripts/break020.stdout index 0c7b0a4fc9..cab4e5ecde 100644 --- a/testsuite/tests/ghci.debugger/scripts/break020.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break020.stdout @@ -1,4 +1,4 @@ -Stopped at break020.hs:(9,8)-(15,11) +Stopped in Main.main, break020.hs:(9,8)-(15,11) _result :: IO () = _ 8 vv @@ -10,31 +10,31 @@ _result :: IO () = _ 14 line2 1 15 return () ^^ -Stopped at break020.hs:10:3-9 +Stopped in Main.main, break020.hs:10:3-9 _result :: IO () = _ 9 main = do 10 line1 0 ^^^^^^^ 11 line2 0 -Stopped at break020.hs:11:3-9 +Stopped in Main.main, break020.hs:11:3-9 _result :: IO () = _ 10 line1 0 11 line2 0 ^^^^^^^ 12 in_another_decl 0 -Stopped at break020.hs:12:3-19 +Stopped in Main.main, break020.hs:12:3-19 _result :: IO () = _ 11 line2 0 12 in_another_decl 0 ^^^^^^^^^^^^^^^^^ 13 in_another_module 0 -Stopped at break020.hs:13:3-21 +Stopped in Main.main, break020.hs:13:3-21 _result :: IO () = _ 12 in_another_decl 0 13 in_another_module 0 ^^^^^^^^^^^^^^^^^^^ 14 line2 1 -Stopped at break020.hs:14:3-9 +Stopped in Main.main, break020.hs:14:3-9 _result :: IO () = _ 13 in_another_module 0 14 line2 1 diff --git a/testsuite/tests/ghci.debugger/scripts/break021.script b/testsuite/tests/ghci.debugger/scripts/break021.script index e9251d6613..c72831d3fd 100644 --- a/testsuite/tests/ghci.debugger/scripts/break021.script +++ b/testsuite/tests/ghci.debugger/scripts/break021.script @@ -16,8 +16,3 @@ :stepmodule :stepmodule :stepmodule -:stepmodule -:stepmodule -:stepmodule -:stepmodule -:stepmodule
\ No newline at end of file diff --git a/testsuite/tests/ghci.debugger/scripts/break021.stdout b/testsuite/tests/ghci.debugger/scripts/break021.stdout index 3a78eafce7..cc680a5b30 100644 --- a/testsuite/tests/ghci.debugger/scripts/break021.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break021.stdout @@ -1,4 +1,4 @@ -Stopped at break020.hs:(9,8)-(15,11) +Stopped in Main.main, break020.hs:(9,8)-(15,11) _result :: IO () = _ 8 vv @@ -10,57 +10,37 @@ _result :: IO () = _ 14 line2 1 15 return () ^^ -Stopped at break020.hs:10:3-9 +Stopped in Main.main, break020.hs:10:3-9 _result :: IO () = _ 9 main = do 10 line1 0 ^^^^^^^ 11 line2 0 -Stopped at break020.hs:3:1-19 -_result :: IO () = _ -2 -3 line1 _ = return () - ^^^^^^^^^^^^^^^^^^^ -4 line2 _ = return () -Stopped at break020.hs:3:11-19 +Stopped in Main.line1, break020.hs:3:11-19 _result :: IO () = _ 2 3 line1 _ = return () ^^^^^^^^^ 4 line2 _ = return () -Stopped at break020.hs:11:3-9 +Stopped in Main.main, break020.hs:11:3-9 _result :: IO () = _ 10 line1 0 11 line2 0 ^^^^^^^ 12 in_another_decl 0 -Stopped at break020.hs:4:1-19 -_result :: IO () = _ -3 line1 _ = return () -4 line2 _ = return () - ^^^^^^^^^^^^^^^^^^^ -5 -Stopped at break020.hs:4:11-19 +Stopped in Main.line2, break020.hs:4:11-19 _result :: IO () = _ 3 line1 _ = return () 4 line2 _ = return () ^^^^^^^^^ 5 -Stopped at break020.hs:12:3-19 +Stopped in Main.main, break020.hs:12:3-19 _result :: IO () = _ 11 line2 0 12 in_another_decl 0 ^^^^^^^^^^^^^^^^^ 13 in_another_module 0 -Stopped at break020.hs:(6,1)-(7,30) -_result :: m () = _ -5 - vv -6 in_another_decl _ = do line1 0 -7 line2 0 - ^^ -8 -Stopped at break020.hs:(6,21)-(7,30) +Stopped in Main.in_another_decl, break020.hs:(6,21)-(7,30) _result :: m () = _ 5 vv @@ -68,67 +48,49 @@ _result :: m () = _ 7 line2 0 ^^ 8 -Stopped at break020.hs:6:24-30 +Stopped in Main.in_another_decl, break020.hs:6:24-30 _result :: m () = _ 5 6 in_another_decl _ = do line1 0 ^^^^^^^ 7 line2 0 -Stopped at break020.hs:3:1-19 -_result :: m () = _ -2 -3 line1 _ = return () - ^^^^^^^^^^^^^^^^^^^ -4 line2 _ = return () -Stopped at break020.hs:3:11-19 +Stopped in Main.line1, break020.hs:3:11-19 _result :: m () = _ 2 3 line1 _ = return () ^^^^^^^^^ 4 line2 _ = return () -Stopped at break020.hs:7:24-30 +Stopped in Main.in_another_decl, break020.hs:7:24-30 _result :: m () = _ 6 in_another_decl _ = do line1 0 7 line2 0 ^^^^^^^ 8 -Stopped at break020.hs:4:1-19 -_result :: m () = _ -3 line1 _ = return () -4 line2 _ = return () - ^^^^^^^^^^^^^^^^^^^ -5 -Stopped at break020.hs:4:11-19 +Stopped in Main.line2, break020.hs:4:11-19 _result :: m () = _ 3 line1 _ = return () 4 line2 _ = return () ^^^^^^^^^ 5 -Stopped at break020.hs:13:3-21 +Stopped in Main.main, break020.hs:13:3-21 _result :: IO () = _ 12 in_another_decl 0 13 in_another_module 0 ^^^^^^^^^^^^^^^^^^^ 14 line2 1 -Stopped at break020.hs:14:3-9 +Stopped in Main.main, break020.hs:14:3-9 _result :: IO () = _ 13 in_another_module 0 14 line2 1 ^^^^^^^ 15 return () -Stopped at break020.hs:4:1-19 -_result :: IO () = _ -3 line1 _ = return () -4 line2 _ = return () - ^^^^^^^^^^^^^^^^^^^ -5 -Stopped at break020.hs:4:11-19 +Stopped in Main.line2, break020.hs:4:11-19 _result :: IO () = _ 3 line1 _ = return () 4 line2 _ = return () ^^^^^^^^^ 5 -Stopped at break020.hs:15:3-11 +Stopped in Main.main, break020.hs:15:3-11 _result :: IO () = _ 14 line2 1 15 return () diff --git a/testsuite/tests/ghci.debugger/scripts/break022/break022.script b/testsuite/tests/ghci.debugger/scripts/break022/break022.script index 15e505ff71..33780a1408 100644 --- a/testsuite/tests/ghci.debugger/scripts/break022/break022.script +++ b/testsuite/tests/ghci.debugger/scripts/break022/break022.script @@ -6,7 +6,7 @@ -- B.boot (imports A) -- C (imports A and B) --- And we load C, to debug some function in A which enters B. +-- And we load C, to debug some function in A which enters B. -- But first we touch A, and reload. B.boot will be reloaded, but not B, which will end up with an empty modbreaks. When we :step into B, ghci will die with an out of bounds access in B's break array. -- The effect we want is B.boot being reloaded while B is not. @@ -17,5 +17,4 @@ :break a a () :st -:st -:st -- here we step into B, and produce the exception
\ No newline at end of file +:st -- here we step into B, and produce the exception diff --git a/testsuite/tests/ghci.debugger/scripts/break022/break022.stdout b/testsuite/tests/ghci.debugger/scripts/break022/break022.stdout index f4b804296f..b74e590ccc 100644 --- a/testsuite/tests/ghci.debugger/scripts/break022/break022.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break022/break022.stdout @@ -1,8 +1,7 @@ -Breakpoint 0 activated at A.hs:4:1-9 -Stopped at A.hs:4:1-9 -_result :: a3 = _ -Stopped at A.hs:4:7-9 +Breakpoint 0 activated at A.hs:4:7-9 +Stopped in A.a, A.hs:4:7-9 +_result :: () = _ +x :: () = () +Stopped in B.b, B.hs:5:7 _result :: () = _ x :: () = () -Stopped at B.hs:5:1-7 -_result :: r = _ diff --git a/testsuite/tests/ghci.debugger/scripts/break023/break023.stdout b/testsuite/tests/ghci.debugger/scripts/break023/break023.stdout index 2b6c85daf4..e43c7cebaf 100644 --- a/testsuite/tests/ghci.debugger/scripts/break023/break023.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break023/break023.stdout @@ -1,2 +1,2 @@ -Breakpoint 0 activated at B.hs:5:1-7 -Breakpoint 1 activated at B.hs:5:1-7 +Breakpoint 0 activated at B.hs:5:7 +Breakpoint 1 activated at B.hs:5:7 diff --git a/testsuite/tests/ghci.debugger/scripts/break024.stdout b/testsuite/tests/ghci.debugger/scripts/break024.stdout index 548e7a4470..8c09cb5533 100644 --- a/testsuite/tests/ghci.debugger/scripts/break024.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break024.stdout @@ -1,19 +1,19 @@ Left user error (error) -Stopped at <exception thrown> +Stopped in <exception thrown>, <unknown> _exception :: e = _ _exception = SomeException (GHC.IO.Exception.IOError Nothing GHC.IO.Exception.UserError [] "error" Nothing Nothing) *** Exception: user error (error) -Stopped at <exception thrown> +Stopped in <exception thrown>, <unknown> _exception :: e = _ _exception = SomeException (GHC.IO.Exception.IOError Nothing GHC.IO.Exception.UserError [] "error" Nothing Nothing) -Stopped at <exception thrown> +Stopped in <exception thrown>, <unknown> _exception :: e = SomeException (GHC.IO.Exception.IOError Nothing GHC.IO.Exception.UserError ....) -Stopped at <exception thrown> +Stopped in <exception thrown>, <unknown> _exception :: e = _ _exception = SomeException (GHC.IO.Exception.IOError diff --git a/testsuite/tests/ghci.debugger/scripts/break025.stdout b/testsuite/tests/ghci.debugger/scripts/break025.stdout index e38f173aff..f3ddd73d2e 100644 --- a/testsuite/tests/ghci.debugger/scripts/break025.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break025.stdout @@ -1,3 +1,3 @@ -Stopped at <exception thrown> +Stopped in <exception thrown>, <unknown> _exception :: e = _ () diff --git a/testsuite/tests/ghci.debugger/scripts/break026.script b/testsuite/tests/ghci.debugger/scripts/break026.script index b2dd79ef97..3d1da54f4d 100644 --- a/testsuite/tests/ghci.debugger/scripts/break026.script +++ b/testsuite/tests/ghci.debugger/scripts/break026.script @@ -2,9 +2,6 @@ :step foldl (+) 0 [1::Integer .. 5] :step :step -:step -:step -:step :force c -- answer should be 1 @@ -12,9 +9,6 @@ :step foldl (+) 0 [1::Integer .. 5] :step :step -:step -:step -:step -- a diversion to single-step the evaluation of c: :step c `seq` () :step diff --git a/testsuite/tests/ghci.debugger/scripts/break026.stdout b/testsuite/tests/ghci.debugger/scripts/break026.stdout index 9afc3f470e..90c1f2ee9e 100644 --- a/testsuite/tests/ghci.debugger/scripts/break026.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break026.stdout @@ -1,55 +1,39 @@ -Stopped at break026.hs:(5,1)-(7,35) -_result :: t = _ -Stopped at break026.hs:5:16-22 +Stopped in Test.foldl, break026.hs:5:16-22 _result :: Integer = _ c :: Integer = 0 go :: Integer -> [t1] -> Integer = _ xs :: [t1] = _ -Stopped at break026.hs:(6,9)-(7,35) -_result :: t = _ -f :: t -> t1 -> t = _ -Stopped at break026.hs:7:23-35 +Stopped in Test.foldl.go, break026.hs:7:23-35 _result :: Integer = _ c :: Integer = 0 f :: Integer -> Integer -> Integer = _ x :: Integer = 1 xs :: [Integer] = _ -Stopped at break026.hs:(6,9)-(7,35) -_result :: t = _ -f :: t -> t1 -> t = _ -Stopped at break026.hs:7:23-35 +Stopped in Test.foldl.go, break026.hs:7:23-35 _result :: t = _ c :: t = _ f :: t -> Integer -> t = _ x :: Integer = 2 xs :: [Integer] = _ c = 1 -Stopped at break026.hs:(5,1)-(7,35) -_result :: t = _ -Stopped at break026.hs:5:16-22 +Stopped in Test.foldl, break026.hs:5:16-22 _result :: Integer = _ c :: Integer = 0 go :: Integer -> [t1] -> Integer = _ xs :: [t1] = _ -Stopped at break026.hs:(6,9)-(7,35) -_result :: t = _ -f :: t -> t1 -> t = _ -Stopped at break026.hs:7:23-35 +Stopped in Test.foldl.go, break026.hs:7:23-35 _result :: Integer = _ c :: Integer = 0 f :: Integer -> Integer -> Integer = _ x :: Integer = 1 xs :: [Integer] = _ -Stopped at break026.hs:(6,9)-(7,35) -_result :: t = _ -f :: t -> t1 -> t = _ -Stopped at break026.hs:7:23-35 +Stopped in Test.foldl.go, break026.hs:7:23-35 _result :: t = _ c :: t = _ f :: t -> Integer -> t = _ x :: Integer = 2 xs :: [Integer] = _ -Stopped at break026.hs:7:27-31 +Stopped in Test.foldl.go, break026.hs:7:27-31 _result :: Integer = _ c :: Integer = 0 f :: Integer -> Integer -> Integer = _ diff --git a/testsuite/tests/ghci.debugger/scripts/break027.script b/testsuite/tests/ghci.debugger/scripts/break027.script index 5c5a5f9c65..039e18a7b5 100644 --- a/testsuite/tests/ghci.debugger/scripts/break027.script +++ b/testsuite/tests/ghci.debugger/scripts/break027.script @@ -1,5 +1,4 @@ :l ../QSort :break qsort qsort [3::Integer,2,1] -:step :i a diff --git a/testsuite/tests/ghci.debugger/scripts/break027.stdout b/testsuite/tests/ghci.debugger/scripts/break027.stdout index 903b7b772a..895ce8bcfa 100644 --- a/testsuite/tests/ghci.debugger/scripts/break027.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break027.stdout @@ -1,9 +1,8 @@ -Breakpoint 0 activated at ..\QSort.hs:(4,1)-(6,55)
-Stopped at ..\QSort.hs:(4,1)-(6,55)
-_result :: [t] = _
-Stopped at ..\QSort.hs:5:16-51
-_result :: [Integer] = _
-a :: Integer = 3
-left :: [Integer] = _
-right :: [Integer] = _
-a :: Integer -- Defined in ‘interactive:Ghci2’
+Breakpoint 0 activated at ../QSort.hs:4:12-13 +Breakpoint 1 activated at ../QSort.hs:5:16-51 +Stopped in QSort.qsort, ../QSort.hs:5:16-51 +_result :: [Integer] = _ +a :: Integer = 3 +left :: [Integer] = _ +right :: [Integer] = _ +a :: Integer -- Defined in ‘interactive:Ghci1’ diff --git a/testsuite/tests/ghci.debugger/scripts/break028.stdout b/testsuite/tests/ghci.debugger/scripts/break028.stdout index bbe47267b0..790795669f 100644 --- a/testsuite/tests/ghci.debugger/scripts/break028.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break028.stdout @@ -1,5 +1,6 @@ -Stopped at break028.hs:15:1-24 -_result :: Id a4 = _ -Stopped at break028.hs:15:23-24 +Stopped in Main.g, break028.hs:15:23-24 _result :: Id a4 = _ x' :: Id a4 = _ +Stopped in Main.g.x', break028.hs:15:16-18 +_result :: Id Bool = _ +x :: Bool = False diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk002.stdout b/testsuite/tests/ghci.debugger/scripts/dynbrk002.stdout index 4eda16ea26..f4d7444aac 100644 --- a/testsuite/tests/ghci.debugger/scripts/dynbrk002.stdout +++ b/testsuite/tests/ghci.debugger/scripts/dynbrk002.stdout @@ -1,5 +1,5 @@ Breakpoint 0 activated at ../QSort.hs:5:16-51 -Stopped at ../QSort.hs:5:16-51 +Stopped in QSort.qsort, ../QSort.hs:5:16-51 _result :: [Integer] = _ a :: Integer = 8 left :: [Integer] = _ diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk007.stdout b/testsuite/tests/ghci.debugger/scripts/dynbrk007.stdout index 22adee0db2..f9d528151e 100644 --- a/testsuite/tests/ghci.debugger/scripts/dynbrk007.stdout +++ b/testsuite/tests/ghci.debugger/scripts/dynbrk007.stdout @@ -1,11 +1,11 @@ -Stopped at dynbrk007.hs:(2,5)-(6,11) +Stopped in Main.f, dynbrk007.hs:(2,5)-(6,11) _result :: Maybe Int = _ -Stopped at dynbrk007.hs:3:9-16 +Stopped in Main.f, dynbrk007.hs:3:9-16 _result :: Maybe Int = _ -Stopped at dynbrk007.hs:4:9-16 +Stopped in Main.f, dynbrk007.hs:4:9-16 _result :: Maybe Integer = _ -Stopped at dynbrk007.hs:5:9-16 +Stopped in Main.f, dynbrk007.hs:5:9-16 _result :: Maybe Integer = _ -Stopped at dynbrk007.hs:6:4-11 +Stopped in Main.f, dynbrk007.hs:6:4-11 _result :: Maybe Int = _ i :: Int = 1 diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk008.script b/testsuite/tests/ghci.debugger/scripts/dynbrk008.script index e99ee6076e..e40c6d92b5 100644 --- a/testsuite/tests/ghci.debugger/scripts/dynbrk008.script +++ b/testsuite/tests/ghci.debugger/scripts/dynbrk008.script @@ -6,4 +6,3 @@ :st :st :st -:st diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk008.stdout b/testsuite/tests/ghci.debugger/scripts/dynbrk008.stdout index 722f2991f3..88a7964a21 100644 --- a/testsuite/tests/ghci.debugger/scripts/dynbrk008.stdout +++ b/testsuite/tests/ghci.debugger/scripts/dynbrk008.stdout @@ -1,15 +1,13 @@ -Stopped at dynbrk008.hs:2:1-41 -_result :: [Int] = _ -Stopped at dynbrk008.hs:2:7-41 +Stopped in Main.f, dynbrk008.hs:2:7-41 _result :: [Int] = _ i :: Int = 42 -Stopped at dynbrk008.hs:2:18-20 +Stopped in Main.f, dynbrk008.hs:2:18-20 _result :: [Int] = _ i :: Int = 42 -Stopped at dynbrk008.hs:2:28-30 +Stopped in Main.f, dynbrk008.hs:2:28-30 _result :: [Int] = _ j :: Int = 42 -Stopped at dynbrk008.hs:2:38-40 +Stopped in Main.f, dynbrk008.hs:2:38-40 _result :: [Int] = _ h :: Int = 42 [42] diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk009.script b/testsuite/tests/ghci.debugger/scripts/dynbrk009.script index 7d00f193a5..c90a31c6aa 100644 --- a/testsuite/tests/ghci.debugger/scripts/dynbrk009.script +++ b/testsuite/tests/ghci.debugger/scripts/dynbrk009.script @@ -7,4 +7,3 @@ :st :st :st -:st diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout b/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout index 65ab5e6126..96a086f91f 100644 --- a/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout +++ b/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout @@ -1,8 +1,7 @@ -Stopped at dynbrk009.hs:8:22 +Stopped in Main.test.(...), dynbrk009.hs:8:22 _result :: Int = _ -Stopped at dynbrk009.hs:8:27-36 +Stopped in Main.test, dynbrk009.hs:8:27-36 _result :: Int = _ -Stopped at dynbrk009.hs:8:31-35 -Stopped at dynbrk009.hs:6:1-9 -Stopped at dynbrk009.hs:6:9 +Stopped in Main.test, dynbrk009.hs:8:31-35 +Stopped in Main.f, dynbrk009.hs:6:9 3 diff --git a/testsuite/tests/ghci.debugger/scripts/getargs.stdout b/testsuite/tests/ghci.debugger/scripts/getargs.stdout index 659308cd77..3169eb6b1f 100644 --- a/testsuite/tests/ghci.debugger/scripts/getargs.stdout +++ b/testsuite/tests/ghci.debugger/scripts/getargs.stdout @@ -1,3 +1,3 @@ -Stopped at ..\getargs.hs:3:8-24 +Stopped in Main.main, ../getargs.hs:3:8-24 _result :: IO () = _ ["42"] diff --git a/testsuite/tests/ghci.debugger/scripts/hist001.stdout b/testsuite/tests/ghci.debugger/scripts/hist001.stdout index 3a70f6aa1e..7ef5dc1e8e 100644 --- a/testsuite/tests/ghci.debugger/scripts/hist001.stdout +++ b/testsuite/tests/ghci.debugger/scripts/hist001.stdout @@ -1,19 +1,13 @@ Breakpoint 0 activated at ../Test3.hs:1:14-15 -[2,3Stopped at ../Test3.hs:1:14-15 +[2,3Stopped in Main.mymap, ../Test3.hs:1:14-15 _result :: [a] = _ --1 : mymap (../Test3.hs:(1,1)-(2,31)) --2 : mymap (../Test3.hs:2:22-31) --3 : mymap (../Test3.hs:2:18-20) --4 : mymap (../Test3.hs:2:18-31) --5 : mymap (../Test3.hs:(1,1)-(2,31)) --6 : mymap (../Test3.hs:2:22-31) --7 : mymap (../Test3.hs:2:18-20) --8 : mymap (../Test3.hs:2:18-31) --9 : mymap (../Test3.hs:(1,1)-(2,31)) +-1 : mymap (../Test3.hs:2:22-31) +-2 : mymap (../Test3.hs:2:18-20) +-3 : mymap (../Test3.hs:2:18-31) +-4 : mymap (../Test3.hs:2:22-31) +-5 : mymap (../Test3.hs:2:18-20) +-6 : mymap (../Test3.hs:2:18-31) <end of history> -Logged breakpoint at ../Test3.hs:(1,1)-(2,31) -_result :: [t] -_result :: [t] = _ Logged breakpoint at ../Test3.hs:2:22-31 _result :: [t] f :: t1 -> t @@ -21,11 +15,19 @@ xs :: [t1] xs :: [t1] = [] f :: t1 -> t = _ _result :: [t] = _ -*** Ignoring breakpoint -_result = [] Logged breakpoint at ../Test3.hs:2:18-20 _result :: t f :: Integer -> t x :: Integer -Logged breakpoint at ../Test3.hs:2:22-31 +xs :: [t1] = [] +x :: Integer = 2 +f :: Integer -> t = _ +_result :: t = _ +_result = 3 +Logged breakpoint at ../Test3.hs:2:18-31 _result :: [t] +f :: Integer -> t +x :: Integer +xs :: [Integer] +Logged breakpoint at ../Test3.hs:2:18-20 +_result :: t diff --git a/testsuite/tests/ghci.debugger/scripts/listCommand001.stdout b/testsuite/tests/ghci.debugger/scripts/listCommand001.stdout index 26a27ac5a5..956ae6a97a 100644 --- a/testsuite/tests/ghci.debugger/scripts/listCommand001.stdout +++ b/testsuite/tests/ghci.debugger/scripts/listCommand001.stdout @@ -5,7 +5,6 @@ cannot list source code for map: module GHC.Base is not interpreted 1 mymap f [] = [] 2 mymap f (x:xs) = f x:mymap f xs 3 -3 4 main = mapM_ putStrLn $ mymap ('a':) ["hello","bye"] 5 3 diff --git a/testsuite/tests/ghci.debugger/scripts/listCommand002.stdout b/testsuite/tests/ghci.debugger/scripts/listCommand002.stdout index 95854884b2..574f3e341a 100644 --- a/testsuite/tests/ghci.debugger/scripts/listCommand002.stdout +++ b/testsuite/tests/ghci.debugger/scripts/listCommand002.stdout @@ -1,6 +1,6 @@ -Stopped at listCommand002.hs:(3,8)-(5,24) +Stopped in Main.main, listCommand002.hs:(3,8)-(5,24) _result :: IO () = _ -Stopped at listCommand002.hs:4:3-26 +Stopped in Main.main, listCommand002.hs:4:3-26 _result :: IO () = _ -Stopped at listCommand002.hs:5:3-24 +Stopped in Main.main, listCommand002.hs:5:3-24 _result :: IO () = _ diff --git a/testsuite/tests/ghci.debugger/scripts/print005.stdout b/testsuite/tests/ghci.debugger/scripts/print005.stdout index b193d1350f..171055ade6 100644 --- a/testsuite/tests/ghci.debugger/scripts/print005.stdout +++ b/testsuite/tests/ghci.debugger/scripts/print005.stdout @@ -1,5 +1,5 @@ Breakpoint 0 activated at ../QSort.hs:5:16-51 -Stopped at ../QSort.hs:5:16-51 +Stopped in QSort.qsort, ../QSort.hs:5:16-51 _result :: [Integer] = _ a :: Integer = 8 left :: [Integer] = _ @@ -12,7 +12,7 @@ left = (_t2::[Integer]) left = 4 : (_t3::[Integer]) 1 left = [4] -Stopped at ../QSort.hs:5:16-51 +Stopped in QSort.qsort, ../QSort.hs:5:16-51 _result :: [Integer] = _ a :: Integer = 4 left :: [Integer] = _ diff --git a/testsuite/tests/ghci.debugger/scripts/print018.script b/testsuite/tests/ghci.debugger/scripts/print018.script index 695dfca291..12f7cc1519 100644 --- a/testsuite/tests/ghci.debugger/scripts/print018.script +++ b/testsuite/tests/ghci.debugger/scripts/print018.script @@ -6,7 +6,6 @@ :break poly poly Unary -:step :p x :t x seq x () diff --git a/testsuite/tests/ghci.debugger/scripts/print018.stdout b/testsuite/tests/ghci.debugger/scripts/print018.stdout index 614b7d3657..65e4302f7c 100644 --- a/testsuite/tests/ghci.debugger/scripts/print018.stdout +++ b/testsuite/tests/ghci.debugger/scripts/print018.stdout @@ -1,7 +1,5 @@ -Breakpoint 0 activated at ../Test.hs:40:1-17 -Stopped at ../Test.hs:40:1-17 -_result :: () = _ -Stopped at ../Test.hs:40:10-17 +Breakpoint 0 activated at ../Test.hs:40:10-17 +Stopped in Test.Test2.poly, ../Test.hs:40:10-17 _result :: () = _ x :: a41 = _ x = (_t1::a41) diff --git a/testsuite/tests/ghci.debugger/scripts/print020.stdout b/testsuite/tests/ghci.debugger/scripts/print020.stdout index 80e9473911..bbeeae1223 100644 --- a/testsuite/tests/ghci.debugger/scripts/print020.stdout +++ b/testsuite/tests/ghci.debugger/scripts/print020.stdout @@ -1,14 +1,19 @@ -Breakpoint 0 activated at ../HappyTest.hs:(226,1)-(237,35) -Stopped at ../HappyTest.hs:(226,1)-(237,35) -_result :: [Token] = _ -*** Ignoring breakpoint -*** Ignoring breakpoint -*** Ignoring breakpoint -*** Ignoring breakpoint -*** Ignoring breakpoint -*** Ignoring breakpoint -*** Ignoring breakpoint -*** Ignoring breakpoint -*** Ignoring breakpoint -*** Ignoring breakpoint -_result = [TokenInt 1,TokenPlus,TokenInt 2,TokenPlus,TokenInt 3] +Breakpoint 0 activated at ../HappyTest.hs:226:12-13 +Breakpoint 1 activated at ../HappyTest.hs:228:11-19 +Breakpoint 2 activated at ../HappyTest.hs:228:23-30 +Breakpoint 3 activated at ../HappyTest.hs:229:11-19 +Breakpoint 4 activated at ../HappyTest.hs:229:23-35 +Breakpoint 5 activated at ../HappyTest.hs:230:11-19 +Breakpoint 6 activated at ../HappyTest.hs:230:23-35 +Breakpoint 7 activated at ../HappyTest.hs:231:18-35 +Breakpoint 8 activated at ../HappyTest.hs:232:18-37 +Breakpoint 9 activated at ../HappyTest.hs:233:18-38 +Breakpoint 10 activated at ../HappyTest.hs:234:18-38 +Breakpoint 11 activated at ../HappyTest.hs:235:18-36 +Breakpoint 12 activated at ../HappyTest.hs:236:18-35 +Breakpoint 13 activated at ../HappyTest.hs:237:18-35 +Stopped in Main.lexer, ../HappyTest.hs:228:11-19 +_result :: Bool = _ +c :: Char = '1' +*** Ignoring breakpoint +_result = False diff --git a/testsuite/tests/ghci.debugger/scripts/print022.script b/testsuite/tests/ghci.debugger/scripts/print022.script index cfed80380e..66f3ef848d 100644 --- a/testsuite/tests/ghci.debugger/scripts/print022.script +++ b/testsuite/tests/ghci.debugger/scripts/print022.script @@ -4,6 +4,5 @@ seq test () :print test :break f f test2 -:step :fo x -:t x
\ No newline at end of file +:t x diff --git a/testsuite/tests/ghci.debugger/scripts/print022.stdout b/testsuite/tests/ghci.debugger/scripts/print022.stdout index 85111a2c7e..47c1483fc4 100644 --- a/testsuite/tests/ghci.debugger/scripts/print022.stdout +++ b/testsuite/tests/ghci.debugger/scripts/print022.stdout @@ -1,9 +1,7 @@ () test = C 1 32 1.2 1.23 'x' 1 1.2 1.23 -Breakpoint 0 activated at print022.hs:11:1-7 -Stopped at print022.hs:11:1-7 -_result :: r = _ -Stopped at print022.hs:11:7 +Breakpoint 0 activated at print022.hs:11:7 +Stopped in Main.f, print022.hs:11:7 _result :: r = _ x :: r = _ x = C2 1 (W# 32) (TwoFields 'a' 3) diff --git a/testsuite/tests/ghci.debugger/scripts/print025.script b/testsuite/tests/ghci.debugger/scripts/print025.script index 926890f4bc..655267332c 100644 --- a/testsuite/tests/ghci.debugger/scripts/print025.script +++ b/testsuite/tests/ghci.debugger/scripts/print025.script @@ -5,4 +5,3 @@ i f i -- RTTI happens implicitly when the bindings at f come into context :step -:step
\ No newline at end of file diff --git a/testsuite/tests/ghci.debugger/scripts/print025.stdout b/testsuite/tests/ghci.debugger/scripts/print025.stdout index 3936640210..5dbd12b57f 100644 --- a/testsuite/tests/ghci.debugger/scripts/print025.stdout +++ b/testsuite/tests/ghci.debugger/scripts/print025.stdout @@ -1,8 +1,6 @@ T 1 -Breakpoint 0 activated at print025.hs:2:1-7 -Stopped at print025.hs:2:1-7 -_result :: r = _ -Stopped at print025.hs:2:7 +Breakpoint 0 activated at print025.hs:2:7 +Stopped in Main.f, print025.hs:2:7 _result :: T Int s = _ x :: T Int s = T 1 T 1 diff --git a/testsuite/tests/ghci.debugger/scripts/print029.script b/testsuite/tests/ghci.debugger/scripts/print029.script index b320153d17..6e350fde04 100644 --- a/testsuite/tests/ghci.debugger/scripts/print029.script +++ b/testsuite/tests/ghci.debugger/scripts/print029.script @@ -3,8 +3,7 @@ let a = MkT2 [Just (1::Int)] a :break f f a -:step -- Unsound! A false type is assigned to x --- reconstructType decides to stop too soon because +-- reconstructType decides to stop too soon because -- its BFS has recovered a monomorphic type -:p x
\ No newline at end of file +:p x diff --git a/testsuite/tests/ghci.debugger/scripts/print029.stdout b/testsuite/tests/ghci.debugger/scripts/print029.stdout index 366d1d480a..838570f9ce 100644 --- a/testsuite/tests/ghci.debugger/scripts/print029.stdout +++ b/testsuite/tests/ghci.debugger/scripts/print029.stdout @@ -1,8 +1,6 @@ MkT2 [Just 1] -Breakpoint 0 activated at print029.hs:4:1-7 -MkT2 Stopped at print029.hs:4:1-7 -_result :: t Int = _ -Stopped at print029.hs:4:7 +Breakpoint 0 activated at print029.hs:4:7 +MkT2 Stopped in Main.f, print029.hs:4:7 _result :: t Int = _ x :: t Int = [Just 1] x = [Just 1] diff --git a/testsuite/tests/ghci.debugger/scripts/print030.script b/testsuite/tests/ghci.debugger/scripts/print030.script index 9296c90163..d3042d01bd 100644 --- a/testsuite/tests/ghci.debugger/scripts/print030.script +++ b/testsuite/tests/ghci.debugger/scripts/print030.script @@ -3,7 +3,6 @@ let a = MkT2 (map Just [(1::Int)]) :break f seq a () f a -:step -- Unsound! A false type is assigned to x -- reconstructType is forced to stop too soon -- because the elements of the list in x are not evaluated yet diff --git a/testsuite/tests/ghci.debugger/scripts/print030.stdout b/testsuite/tests/ghci.debugger/scripts/print030.stdout index a67d0492d2..1c7bf3c18e 100644 --- a/testsuite/tests/ghci.debugger/scripts/print030.stdout +++ b/testsuite/tests/ghci.debugger/scripts/print030.stdout @@ -1,7 +1,5 @@ -Breakpoint 0 activated at print029.hs:4:1-7 +Breakpoint 0 activated at print029.hs:4:7 () -MkT2 Stopped at print029.hs:4:1-7 -_result :: t Int = _ -Stopped at print029.hs:4:7 +MkT2 Stopped in Main.f, print029.hs:4:7 _result :: t Int = _ x :: t Int = _ : _ diff --git a/testsuite/tests/ghci.debugger/scripts/print031.script b/testsuite/tests/ghci.debugger/scripts/print031.script index fb6308ffcf..2e3223e354 100644 --- a/testsuite/tests/ghci.debugger/scripts/print031.script +++ b/testsuite/tests/ghci.debugger/scripts/print031.script @@ -3,8 +3,7 @@ let a = MkT2 [Just (Phantom 1)] :break f a f a -:step --- ghc crashes now when the type for x is recovered +-- ghc crashes now when the type for x is recovered -- and unifyRTTI fails to compute a substitution -:p x +:p x :q diff --git a/testsuite/tests/ghci.debugger/scripts/print031.stdout b/testsuite/tests/ghci.debugger/scripts/print031.stdout index 81a2518a31..6a326a6fae 100644 --- a/testsuite/tests/ghci.debugger/scripts/print031.stdout +++ b/testsuite/tests/ghci.debugger/scripts/print031.stdout @@ -1,8 +1,6 @@ -Breakpoint 0 activated at print031.hs:7:1-19 +Breakpoint 0 activated at print031.hs:7:7-19 MkT2 [Just (Phantom 1)] -Stopped at print031.hs:7:1-19 -_result :: Bool = _ -Stopped at print031.hs:7:7-19 +Stopped in Print031.f, print031.hs:7:7-19 _result :: Bool = _ x :: t (Phantom a6) = [Just (Phantom 1)] x = [Just (Phantom 1)] diff --git a/testsuite/tests/ghci.debugger/scripts/print032.script b/testsuite/tests/ghci.debugger/scripts/print032.script index fa872af5d3..25abb3718f 100644 --- a/testsuite/tests/ghci.debugger/scripts/print032.script +++ b/testsuite/tests/ghci.debugger/scripts/print032.script @@ -5,4 +5,3 @@ let b = MkT2 (map Just [2::Int]) -- Want to obtain a thunk :break f2 f2 a b :step - diff --git a/testsuite/tests/ghci.debugger/scripts/print032.stdout b/testsuite/tests/ghci.debugger/scripts/print032.stdout index 766139fd67..9fe9911513 100644 --- a/testsuite/tests/ghci.debugger/scripts/print032.stdout +++ b/testsuite/tests/ghci.debugger/scripts/print032.stdout @@ -1,8 +1,7 @@ MkT2 [Just 1] -Breakpoint 0 activated at print029.hs:7:1-14 -Stopped at print029.hs:7:1-14 -_result :: (t Int, t Int) = _ -Stopped at print029.hs:7:10-14 +Breakpoint 0 activated at print029.hs:7:10-14 +Stopped in Main.f2, print029.hs:7:10-14 _result :: (t Int, t Int) = _ x :: t Int = [Just 1] y :: t Int = _ +(MkT2 [Just 1],MkT2 [Just 2]) diff --git a/testsuite/tests/ghci.debugger/scripts/result001.stdout b/testsuite/tests/ghci.debugger/scripts/result001.stdout index 0d2173dcd8..2ff2838182 100644 --- a/testsuite/tests/ghci.debugger/scripts/result001.stdout +++ b/testsuite/tests/ghci.debugger/scripts/result001.stdout @@ -1,4 +1,4 @@ Breakpoint 0 activated at result001.hs:1:13-21 -Stopped at result001.hs:1:13-21 +Stopped in Main.f, result001.hs:1:13-21 _result :: [b] = _ xs :: [b] = _ |