[project @ 2001-09-14 15:51:41 by simonpj]
[ghc-hetmet.git] / ghc / compiler / main / CmdLineOpts.lhs
index 181863f..2be4ce5 100644 (file)
@@ -83,6 +83,7 @@ module CmdLineOpts (
        opt_SimplDoLambdaEtaExpansion,
        opt_SimplCaseMerge,
        opt_SimplExcessPrecision,
+       opt_MaxWorkerArgs,
 
        -- Unfolding control
        opt_UF_CreationThreshold,
@@ -200,6 +201,8 @@ data CoreToDo               -- These are diff core-to-core passes,
   | CoreDoCPResult
   | CoreDoGlomBinds
   | CoreCSE
+  | CoreDoRuleCheck String     -- Check for non-application of rules 
+                               -- matching this string
 
   | CoreDoNothing       -- useful when building up lists of these things
 \end{code}
@@ -315,6 +318,10 @@ data DynFlags = DynFlags {
   opt_c                        :: [String],
   opt_a                        :: [String],
   opt_m                        :: [String],
+#ifdef ILX                        
+  opt_I                        :: [String],
+  opt_i                        :: [String],
+#endif
 
   -- hsc dynamic flags
   flags                :: [DynFlag]
@@ -326,6 +333,7 @@ data HscLang
   | HscJava
   | HscILX
   | HscInterpreted
+  | HscNothing
     deriving (Eq, Show)
 
 defaultDynFlags = DynFlags {
@@ -343,6 +351,10 @@ defaultDynFlags = DynFlags {
   opt_c                        = [],
   opt_a                        = [],
   opt_m                        = [],
+#ifdef ILX
+  opt_I                 = [],
+  opt_i                 = [],
+#endif
   flags = standardWarnings,
   }
 
@@ -551,6 +563,7 @@ opt_StgDoLetNoEscapes               = lookUp  SLIT("-flet-no-escape")
 opt_UnfoldCasms                        = lookUp  SLIT("-funfold-casms-in-hi-file")
 opt_UsageSPOn                  = lookUp  SLIT("-fusagesp-on")
 opt_UnboxStrictFields          = lookUp  SLIT("-funbox-strict-fields")
+opt_MaxWorkerArgs              = lookup_def_int "-fmax-worker-args" (10::Int)
 
 {-
    The optional '-inpackage=P' flag tells what package
@@ -652,6 +665,7 @@ isStaticHscFlag f =
   || any (flip prefixMatch f) [
        "fcontext-stack",
        "fliberate-case-threshold",
+       "fmax-worker-args",
        "fhistory-size",
        "funfolding-creation-threshold",
        "funfolding-use-threshold",