summaryrefslogtreecommitdiff
path: root/compiler/iface/TcIface.lhs
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2007-09-05 10:47:16 +0000
committerSimon Marlow <simonmar@microsoft.com>2007-09-05 10:47:16 +0000
commite2782137c799a08711cac0844418cc0345a7ceb5 (patch)
tree95dd4aee9bfd315311b409451905d2dcb8799377 /compiler/iface/TcIface.lhs
parentb1f0cd397d4cc0e9bf178bbe2774a9b7c1595b34 (diff)
downloadhaskell-e2782137c799a08711cac0844418cc0345a7ceb5.tar.gz
FIX #1650: ".boot modules interact badly with the ghci debugger"
In fact hs-boot files had nothing to do with it: the problem was that GHCi would forget the breakpoint information for a module that had been reloaded but not recompiled. It's amazing that we never noticed this before. The ModBreaks were in the ModDetails, which was the wrong place. When we avoid recompiling a module, ModDetails is regenerated from ModIface by typecheckIface, and at that point it has no idea what the ModBreaks should be, so typecheckIface made it empty. The right place for the ModBreaks to go is with the Linkable, which is retained when compilation is avoided. So now I've placed the ModBreaks in with the CompiledByteCode, which also makes it clear that only byte-code modules have breakpoints. This fixes break022/break023
Diffstat (limited to 'compiler/iface/TcIface.lhs')
-rw-r--r--compiler/iface/TcIface.lhs1
1 files changed, 0 insertions, 1 deletions
diff --git a/compiler/iface/TcIface.lhs b/compiler/iface/TcIface.lhs
index 8dca71e614..93452082e1 100644
--- a/compiler/iface/TcIface.lhs
+++ b/compiler/iface/TcIface.lhs
@@ -224,7 +224,6 @@ typecheckIface iface
, md_rules = rules
, md_vect_info = vect_info
, md_exports = exports
- , md_modBreaks = emptyModBreaks
}
}
\end{code}