[GHC] #8429: GHC.Base.{breakpoint, breakpointCond} do nothing

#8429: GHC.Base.{breakpoint, breakpointCond} do nothing ------------------------------------+------------------------------------- Reporter: refold | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Keywords: | Operating System: Unknown/Multiple Architecture: Unknown/Multiple | Type of failure: None/Unknown Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 1377 | ------------------------------------+------------------------------------- The `GHC.Exts` module exports functions [[http://hackage.haskell.org/package/base-4.6.0.1/docs/GHC- Exts.html#g:6|breakpoint and breakpointCond]]. Right now they are no-ops, but apparently at some point in the past could be used to set breakpoints programmatically. From my reading of the source code, this feature was removed (either accidentally or on purpose) when the implementation of breakpoints [[changeset:cdce647711c0f46f5799b24de087622cb77e647f/ghc|was reworked]]. Relevant commits: * 31751ccacc24ebe5d15a0af84b10dc612d455440 * 3a99fa889bdff0c86df20cb18c71d30e30a79b43 * cdce647711c0f46f5799b24de087622cb77e647f Initially reported [http://stackoverflow.com/questions/19283911/how-do-i -use-ghc-exts-breakpoint here]. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8429 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8429: GHC.Base.{breakpoint, breakpointCond} do nothing -------------------------------------+------------------------------------ Reporter: refold | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: 1377 -------------------------------------+------------------------------------ Comment (by refold): Replying to [ticket:8429 refold]:
Relevant commits: * 31751ccacc24ebe5d15a0af84b10dc612d455440 * 3a99fa889bdff0c86df20cb18c71d30e30a79b43 * cdce647711c0f46f5799b24de087622cb77e647f
Grep for `breakpointName`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8429#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8429: GHC.Base.{breakpoint, breakpointCond} do nothing -------------------------------------+------------------------------------ Reporter: refold | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: 1377 -------------------------------------+------------------------------------ Changes (by simonpj): * cc: simonmar (added) Comment: Adding Simon M in cc, who was involved in adding breakpoint support, and committed the last of the three patches above with title "Re-working of the breakpoint support". Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8429#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8429: GHC.Base.{breakpoint, breakpointCond} do nothing -------------------------------------+------------------------------------ Reporter: refold | Owner: Type: feature request | Status: new Priority: normal | Milestone: 7.10.1 Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: 1377 -------------------------------------+------------------------------------ Changes (by simonmar): * type: bug => feature request * milestone: => 7.10.1 Comment: To make them work, you would need to treat them as magic identifiers that get recognised by the desugarer and replaced with actual breakpoints. This probably wouldn't be too hard. The module that inserts breakpoints is `compiler/deSugar/Coverage.hs`, and what we want to do is something similar to the way that `{-# SCC #-}` is handled, in `compiler/deSugar/DsExpr.lhs`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8429#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8429: GHC.Base.{breakpoint, breakpointCond} do nothing -------------------------------------+------------------------------------ Reporter: refold | Owner: Type: feature request | Status: new Priority: normal | Milestone: 7.10.1 Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: 1377 -------------------------------------+------------------------------------ Comment (by refold): Replying to [comment:6 simonmar]: Thanks, will try to implement this. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8429#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8429: GHC.Base.{breakpoint, breakpointCond} do nothing -------------------------------------+------------------------------------ Reporter: refold | Owner: iand675 Type: feature request | Status: new Priority: normal | Milestone: 7.10.1 Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: 1377 -------------------------------------+------------------------------------ Changes (by iand675): * owner: => iand675 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8429#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8429: GHC.Base.{breakpoint, breakpointCond} do nothing -------------------------------------+------------------------------------ Reporter: refold | Owner: iand675 Type: feature request | Status: new Priority: normal | Milestone: 7.10.1 Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: 1377 -------------------------------------+------------------------------------ Changes (by jkarni): * cc: jkarni@… (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8429#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC