Handle breakpoint jumps while splicing TH functions in ghci
[ghc-hetmet.git] / compiler / main / DynFlags.hs
index 2ba6172..a176a73 100644 (file)
@@ -84,6 +84,9 @@ import Util           ( split )
 import Data.Char       ( isDigit, isUpper )
 import System.IO        ( hPutStrLn, stderr )
 
+import Breakpoints      ( BkptHandler )
+import Module           ( ModuleName )
+
 -- -----------------------------------------------------------------------------
 -- DynFlags
 
@@ -197,10 +200,9 @@ data DynFlag
    | Opt_SplitObjs
    | Opt_StgStats
    | Opt_HideAllPackages
+   | Opt_Debugging
    | Opt_PrintBindResult
    | Opt_Haddock
-   | Opt_Hpc
-   | Opt_Hpc_Tracer
 
    -- keeping stuff
    | Opt_KeepHiDiffs
@@ -305,6 +307,9 @@ data DynFlags = DynFlags {
   
   -- message output
   log_action            :: Severity -> SrcSpan -> PprStyle -> Message -> IO ()
+
+  -- breakpoint handling
+ ,bkptHandler           :: Maybe (BkptHandler Module)
  }
 
 data HscTarget
@@ -413,7 +418,8 @@ defaultDynFlags =
        packageFlags            = [],
         pkgDatabase             = Nothing,
         pkgState                = panic "no package state yet: call GHC.setSessionDynFlags",
-       
+
+        bkptHandler             = Nothing,
        flags = [ 
            Opt_ReadUserPackageConf,
     
@@ -540,9 +546,7 @@ data Option
 updOptLevel :: Int -> DynFlags -> DynFlags
 -- Set dynflags appropriate to the optimisation level
 updOptLevel n dfs
-  = if (n >= 1)
-     then dfs2{ hscTarget = HscC, optLevel = n } -- turn on -fvia-C with -O
-     else dfs2{ optLevel = n }
+  = dfs2{ optLevel = n }
   where
    dfs1 = foldr (flip dopt_unset) dfs  remove_dopts
    dfs2 = foldr (flip dopt_set)   dfs1 extra_dopts