Fix scoped type variables for expression type signatures
[ghc-hetmet.git] / compiler / main / DynFlags.hs
index 0a361a4..e4b82c8 100644 (file)
@@ -167,6 +167,7 @@ data DynFlag
    | Opt_ImplicitPrelude 
    | Opt_ScopedTypeVariables
    | Opt_BangPatterns
+   | Opt_IndexedTypes
 
    -- optimisation opts
    | Opt_Strictness
@@ -185,7 +186,7 @@ data DynFlag
    -- misc opts
    | Opt_Cpp
    | Opt_Pp
-   | Opt_RecompChecking
+   | Opt_ForceRecomp
    | Opt_DryRun
    | Opt_DoAsmMangling
    | Opt_ExcessPrecision
@@ -194,6 +195,7 @@ data DynFlag
    | Opt_SplitObjs
    | Opt_StgStats
    | Opt_HideAllPackages
+   | Opt_PrintBindResult
 
    -- keeping stuff
    | Opt_KeepHiDiffs
@@ -405,7 +407,6 @@ defaultDynFlags =
         pkgState                = panic "no package state yet: call GHC.setSessionDynFlags",
        
        flags = [ 
-           Opt_RecompChecking,
            Opt_ReadUserPackageConf,
     
            Opt_MonoPatBinds,   -- Experimentally, I'm making this non-standard
@@ -430,8 +431,10 @@ defaultDynFlags =
     
            -- and the default no-optimisation options:
            Opt_IgnoreInterfacePragmas,
-           Opt_OmitInterfacePragmas
+           Opt_OmitInterfacePragmas,
     
+           -- on by default:
+           Opt_PrintBindResult
                ] ++ standardWarnings,
                
         log_action = \severity srcSpan style msg -> 
@@ -872,9 +875,9 @@ dynamic_flags = [
   ,  ( "no-hs-main"     , NoArg (setDynFlag Opt_NoHsMain))
   ,  ( "main-is"       , SepArg setMainIs )
 
-       ------- recompilation checker --------------------------------------
-  ,  ( "recomp"                , NoArg (setDynFlag   Opt_RecompChecking) )
-  ,  ( "no-recomp"     , NoArg (unSetDynFlag Opt_RecompChecking) )
+       ------- recompilation checker (DEPRECATED, use -fforce-recomp) -----
+  ,  ( "recomp"                , NoArg (unSetDynFlag Opt_ForceRecomp) )
+  ,  ( "no-recomp"     , NoArg (setDynFlag   Opt_ForceRecomp) )
 
         ------- Packages ----------------------------------------------------
   ,  ( "package-conf"   , HasArg extraPkgConf_ )
@@ -937,7 +940,7 @@ dynamic_flags = [
   ,  ( "dcore-lint",            NoArg (setDynFlag Opt_DoCoreLinting))
   ,  ( "dstg-lint",             NoArg (setDynFlag Opt_DoStgLinting))
   ,  ( "dcmm-lint",             NoArg (setDynFlag Opt_DoCmmLinting))
-  ,  ( "dshow-passes",           NoArg (do unSetDynFlag Opt_RecompChecking
+  ,  ( "dshow-passes",           NoArg (do setDynFlag Opt_ForceRecomp
                                           setVerbosity (Just 2)) )
   ,  ( "dfaststring-stats",     NoArg (setDynFlag Opt_D_faststring_stats))
 
@@ -1014,6 +1017,7 @@ fFlags = [
   ( "implicit-prelude",                Opt_ImplicitPrelude ),
   ( "scoped-type-variables",           Opt_ScopedTypeVariables ),
   ( "bang-patterns",                   Opt_BangPatterns ),
+  ( "indexed-types",                   Opt_IndexedTypes ),
   ( "monomorphism-restriction",                Opt_MonomorphismRestriction ),
   ( "mono-pat-binds",                  Opt_MonoPatBinds ),
   ( "extended-default-rules",          Opt_ExtendedDefaultRules ),
@@ -1035,14 +1039,18 @@ fFlags = [
   ( "unbox-strict-fields",             Opt_UnboxStrictFields ),
   ( "dicts-cheap",                     Opt_DictsCheap ),
   ( "excess-precision",                        Opt_ExcessPrecision ),
-  ( "asm-mangling",                    Opt_DoAsmMangling )
+  ( "asm-mangling",                    Opt_DoAsmMangling ),
+  ( "print-bind-result",               Opt_PrintBindResult ),
+  ( "force-recomp",                    Opt_ForceRecomp )
   ]
 
+
 glasgowExtsFlags = [ 
   Opt_GlasgowExts, 
   Opt_FFI, 
   Opt_ImplicitParams, 
-  Opt_ScopedTypeVariables ]
+  Opt_ScopedTypeVariables,
+  Opt_IndexedTypes ]
 
 isFFlag f = f `elem` (map fst fFlags)
 getFFlag f = fromJust (lookup f fFlags)
@@ -1072,7 +1080,7 @@ unSetDynFlag f = upd (\dfs -> dopt_unset dfs f)
 
 setDumpFlag :: DynFlag -> OptKind DynP
 setDumpFlag dump_flag 
-  = NoArg (unSetDynFlag Opt_RecompChecking >> setDynFlag dump_flag)
+  = NoArg (setDynFlag Opt_ForceRecomp >> setDynFlag dump_flag)
        -- Whenver we -ddump, switch off the recompilation checker,
        -- else you don't see the dump!