Get rid of the last remnants of PROJECT_DIR
[ghc-hetmet.git] / compiler / main / DynFlags.hs
index f88d02c..621d6b9 100644 (file)
@@ -152,6 +152,7 @@ data DynFlag
    | Opt_D_dump_view_pattern_commoning
    | Opt_D_faststring_stats
    | Opt_DumpToFile                    -- ^ Append dump output to files instead of stdout.
+   | Opt_D_no_debug_output
    | Opt_DoCoreLinting
    | Opt_DoStgLinting
    | Opt_DoCmmLinting
@@ -832,7 +833,7 @@ getCoreToDo dflags
     liberate_case = dopt Opt_LiberateCase dflags
     rule_check    = ruleCheck dflags
     vectorisation = dopt Opt_Vectorise dflags
-    static_args   = dopt Opt_StaticArgumentTransformation dflags
+    -- static_args   = dopt Opt_StaticArgumentTransformation dflags
 
     maybe_rule_check phase = runMaybe rule_check (CoreDoRuleCheck phase)
 
@@ -886,7 +887,8 @@ getCoreToDo dflags
     -- may expose extra opportunities to float things outwards. However, to fix
     -- up the output of the transformation we need at do at least one simplify
     -- after this before anything else
-           runWhen static_args CoreDoStaticArgs,
+           -- runWhen static_args CoreDoStaticArgs,
+            -- XXX disabled, see #2321
 
        -- initial simplify: mk specialiser happy: minimum effort please
         simpl_gently,
@@ -1160,7 +1162,8 @@ dynamic_flags = [
   ,  ( "ddump-mod-cycles",              setDumpFlag Opt_D_dump_mod_cycles)
   ,  ( "ddump-view-pattern-commoning", setDumpFlag Opt_D_dump_view_pattern_commoning)
   ,  ( "ddump-to-file",          setDumpFlag Opt_DumpToFile)
-  ,  ( "ddump-hi-diffs",         NoArg (setDynFlag Opt_D_dump_hi_diffs))
+  ,  ( "ddump-hi-diffs",         setDumpFlag Opt_D_dump_hi_diffs)
+
   ,  ( "dcore-lint",            NoArg (setDynFlag Opt_DoCoreLinting))
   ,  ( "dstg-lint",             NoArg (setDynFlag Opt_DoStgLinting))
   ,  ( "dcmm-lint",             NoArg (setDynFlag Opt_DoCmmLinting))
@@ -1485,9 +1488,16 @@ unSetDynFlag f = upd (\dfs -> dopt_unset dfs f)
 --------------------------
 setDumpFlag :: DynFlag -> OptKind DynP
 setDumpFlag dump_flag 
-  = NoArg (setDynFlag Opt_ForceRecomp >> setDynFlag dump_flag)
+  | force_recomp   = NoArg (setDynFlag Opt_ForceRecomp >> setDynFlag dump_flag)
+  | otherwise      = NoArg (setDynFlag dump_flag)
+  where
        -- Whenver we -ddump, switch off the recompilation checker,
        -- else you don't see the dump!
+        -- However, certain dumpy-things are really interested in what's going
+        -- on during recompilation checking, so in those cases we
+        -- don't want to turn it off.
+   force_recomp = dump_flag `notElem` [Opt_D_dump_if_trace, 
+                                       Opt_D_dump_hi_diffs]
 
 setVerboseCore2Core :: DynP ()
 setVerboseCore2Core = do setDynFlag Opt_ForceRecomp
@@ -1853,5 +1863,7 @@ compilerInfo = [("Project name",                cProjectName),
                 ("Tables next to code",         cGhcEnableTablesNextToCode),
                 ("Win32 DLLs",                  cEnableWin32DLLs),
                 ("RTS ways",                    cGhcRTSWays),
-                ("Leading underscore",          cLeadingUnderscore)]
+                ("Leading underscore",          cLeadingUnderscore),
+                ("Debug on",                    show debugIsOn)
+               ]