Desugar multiple polymorphic bindings more intelligently
[ghc-hetmet.git] / compiler / main / StaticFlags.hs
index c1465ef..6d826cb 100644 (file)
@@ -21,6 +21,7 @@ module StaticFlags (
        opt_PprUserLength,
        opt_SuppressUniques,
        opt_PprStyle_Debug,
+        opt_NoDebugOutput,
 
        -- profiling opts
        opt_AutoSccsOnAllToplevs,
@@ -38,6 +39,7 @@ module StaticFlags (
        opt_Parallel,
 
        -- optimisation opts
+       opt_DsMultiTyVar,
        opt_NoStateHack,
        opt_SpecInlineJoinPoints,
        opt_CprOff,
@@ -166,6 +168,7 @@ static_flags = [
   ,  ( "dsuppress-uniques", PassFlag addOpt )
   ,  ( "dppr-user-length",  AnySuffix addOpt )
   ,  ( "dopt-fuel",         AnySuffix addOpt )
+  ,  ( "dno-debug-output",  PassFlag addOpt )
       -- rest of the debugging flags are dynamic
 
        --------- Profiling --------------------------------------------------
@@ -178,9 +181,6 @@ static_flags = [
   ,  ( "no-auto"       , NoArg (removeOpt "-fauto-sccs-on-exported-toplevs") )
   ,  ( "no-caf-all"    , NoArg (removeOpt "-fauto-sccs-on-individual-cafs") )
 
-       ------- Miscellaneous -----------------------------------------------
-  ,  ( "no-link-chk"    , NoArg (return ()) ) -- ignored for backwards compat
-
        ----- Linker --------------------------------------------------------
   ,  ( "static"        , PassFlag addOpt )
   ,  ( "dynamic"        , NoArg (removeOpt "-static") )
@@ -292,6 +292,9 @@ opt_PprUserLength   :: Int
 opt_PprUserLength              = lookup_def_int "-dppr-user-length" 5 --ToDo: give this a name
 opt_Fuel            :: Int
 opt_Fuel                        = lookup_def_int "-dopt-fuel" maxBound
+opt_NoDebugOutput   :: Bool
+opt_NoDebugOutput               = lookUp  (fsLit "-dno-debug-output")
+
 
 -- profiling opts
 opt_AutoSccsOnAllToplevs :: Bool
@@ -318,8 +321,13 @@ opt_Parallel :: Bool
 opt_Parallel                   = lookUp  (fsLit "-fparallel")
 
 -- optimisation opts
+opt_DsMultiTyVar :: Bool
+opt_DsMultiTyVar               = not (lookUp (fsLit "-fno-ds-multi-tyvar"))
+       -- On by default
+
 opt_SpecInlineJoinPoints :: Bool
 opt_SpecInlineJoinPoints       = lookUp  (fsLit "-fspec-inline-join-points")
+
 opt_NoStateHack :: Bool
 opt_NoStateHack                        = lookUp  (fsLit "-fno-state-hack")
 opt_CprOff :: Bool
@@ -408,6 +416,7 @@ isStaticFlag f =
        "dno-black-holing",
        "fno-method-sharing",
        "fno-state-hack",
+       "fno-ds-multi-tyvar",
        "fruntime-types",
        "fno-pre-inlining",
        "fexcess-precision",