Breakpoint code instrumentation
[ghc-hetmet.git] / compiler / main / DynFlags.hs
index 53fa11a..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_Trace
 
    -- 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
@@ -1053,7 +1057,7 @@ fFlags = [
   ( "print-bind-result",               Opt_PrintBindResult ),
   ( "force-recomp",                    Opt_ForceRecomp ),
   ( "hpc",                             Opt_Hpc ),
-  ( "hpc-tracer",                      Opt_Hpc )
+  ( "hpc-tracer",                      Opt_Hpc_Tracer )
   ]
 
 
@@ -1351,9 +1355,6 @@ machdepCCOpts dflags
                        -- version.
                ] )
 
-#elif mips_TARGET_ARCH
-       = ( ["-static"], [] )
-
 #elif sparc_TARGET_ARCH
        = ( [], ["-w"] )
        -- For now, to suppress the gcc warning "call-clobbered