Make various assertions work when !DEBUG
[ghc-hetmet.git] / compiler / main / DynFlags.hs
index c3b1d61..0438fb0 100644 (file)
 --
 -----------------------------------------------------------------------------
 
+{-# OPTIONS -w #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+--     http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- for details
+
 module DynFlags (
        -- Dynamic flags
        DynFlag(..),
@@ -84,7 +91,7 @@ import Data.List      ( isPrefixOf )
 import Util            ( split )
 #endif
 
-import Data.Char       ( isUpper, toLower )
+import Data.Char       ( isUpper )
 import System.IO        ( hPutStrLn, stderr )
 
 -- -----------------------------------------------------------------------------
@@ -94,7 +101,9 @@ data DynFlag
 
    -- debugging flags
    = Opt_D_dump_cmm
+   | Opt_D_dump_cmmz
    | Opt_D_dump_cps_cmm
+   | Opt_D_dump_cvt_cmm
    | Opt_D_dump_asm
    | Opt_D_dump_asm_native
    | Opt_D_dump_asm_liveness
@@ -257,6 +266,8 @@ data DynFlag
    | Opt_BreakOnException
    | Opt_GenManifest
    | Opt_EmbedManifest
+   | Opt_RunCPSZ
+   | Opt_ConvertToZipCfgAndBack
 
    -- keeping stuff
    | Opt_KeepHiDiffs
@@ -1019,7 +1030,9 @@ dynamic_flags = [
   ,  ( "dstg-stats",   NoArg (setDynFlag Opt_StgStats))
 
   ,  ( "ddump-cmm",             setDumpFlag Opt_D_dump_cmm)
+  ,  ( "ddump-cmmz",            setDumpFlag Opt_D_dump_cmmz)
   ,  ( "ddump-cps-cmm",                 setDumpFlag Opt_D_dump_cps_cmm)
+  ,  ( "ddump-cvt-cmm",                 setDumpFlag Opt_D_dump_cvt_cmm)
   ,  ( "ddump-asm",             setDumpFlag Opt_D_dump_asm)
   ,  ( "ddump-asm-native",       setDumpFlag Opt_D_dump_asm_native)
   ,  ( "ddump-asm-liveness",     setDumpFlag Opt_D_dump_asm_liveness)
@@ -1081,12 +1094,13 @@ dynamic_flags = [
   ,  ( "monly-3-regs",         NoArg (upd (\s -> s{stolen_x86_regs = 3}) ))
   ,  ( "monly-4-regs",         NoArg (upd (\s -> s{stolen_x86_regs = 4}) ))
 
-       ------ Warning opts -------------------------------------------------
-  ,  ( "W"             , NoArg (mapM_ setDynFlag   minusWOpts)    )
-  ,  ( "Werror"                , NoArg (setDynFlag         Opt_WarnIsError) )
-  ,  ( "Wall"          , NoArg (mapM_ setDynFlag   minusWallOpts) )
-  ,  ( "Wnot"          , NoArg (mapM_ unSetDynFlag minusWallOpts) ) /* DEPREC */
-  ,  ( "w"             , NoArg (mapM_ unSetDynFlag minuswRemovesOpts) )
+     ------ Warning opts -------------------------------------------------
+  ,  ( "W"     , NoArg (mapM_ setDynFlag   minusWOpts)    )
+  ,  ( "Werror", NoArg (setDynFlag         Opt_WarnIsError) )
+  ,  ( "Wwarn" , NoArg (unSetDynFlag       Opt_WarnIsError) )
+  ,  ( "Wall"  , NoArg (mapM_ setDynFlag   minusWallOpts) )
+  ,  ( "Wnot"  , NoArg (mapM_ unSetDynFlag minusWallOpts) ) -- DEPRECATED
+  ,  ( "w"     , NoArg (mapM_ unSetDynFlag minuswRemovesOpts) )
 
        ------ Optimisation flags ------------------------------------------
   ,  ( "O"     , NoArg (upd (setOptLevel 1)))
@@ -1175,6 +1189,8 @@ fFlags = [
   ( "hpc-no-auto",                      Opt_Hpc_No_Auto ),
   ( "rewrite-rules",                    Opt_RewriteRules ),
   ( "break-on-exception",               Opt_BreakOnException ),
+  ( "run-cps",                          Opt_RunCPSZ ),
+  ( "convert-to-zipper-and-back",       Opt_ConvertToZipCfgAndBack),
   ( "vectorise",                        Opt_Vectorise ),
   ( "regs-graph",                       Opt_RegsGraph),
   -- Deprecated in favour of -XTemplateHaskell:
@@ -1682,10 +1698,13 @@ compilerInfo = [("Project name",                cProjectName),
                 ("Booter version",              cBooterVersion),
                 ("Stage",                       cStage),
                 ("Interface file version",      cHscIfaceFileVersion),
+                ("Have interpreter",            cGhcWithInterpreter),
                 ("Object splitting",            cSplitObjs),
                 ("Have native code generator",  cGhcWithNativeCodeGen),
+                ("Support SMP",                 cGhcWithSMP),
                 ("Unregisterised",              cGhcUnregisterised),
                 ("Tables next to code",         cGhcEnableTablesNextToCode),
                 ("Win32 DLLs",                  cEnableWin32DLLs),
+                ("RTS ways",                    cGhcRTSWays),
                 ("Leading underscore",          cLeadingUnderscore)]