New flag: -dno-debug-output
authorSimon Marlow <marlowsd@gmail.com>
Tue, 3 Jun 2008 08:29:24 +0000 (08:29 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Tue, 3 Jun 2008 08:29:24 +0000 (08:29 +0000)
From the docs:
   <para>Suppress any unsolicited debugging output.  When GHC
     has been built with the <literal>DEBUG</literal> option it
     occasionally emits debug output of interest to developers.
     The extra output can confuse the testing framework and
     cause bogus test failures, so this flag is provided to
     turn it off.</para>

compiler/main/DynFlags.hs
compiler/main/StaticFlags.hs
compiler/utils/Outputable.lhs
docs/users_guide/debugging.xml
docs/users_guide/flags.xml

index 5425ace..dbf5ff9 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
index 538fe33..6fa6032 100644 (file)
@@ -21,6 +21,7 @@ module StaticFlags (
        opt_PprUserLength,
        opt_SuppressUniques,
        opt_PprStyle_Debug,
+        opt_NoDebugOutput,
 
        -- profiling opts
        opt_AutoSccsOnAllToplevs,
@@ -166,6 +167,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 --------------------------------------------------
@@ -289,6 +291,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
index b5d451a..61ad4dd 100644 (file)
@@ -53,7 +53,7 @@ module Outputable (
 import {-# SOURCE #-}  Module( Module, ModuleName, moduleName )
 import {-# SOURCE #-}  OccName( OccName )
 
-import StaticFlags     ( opt_PprStyle_Debug, opt_PprUserLength )
+import StaticFlags
 import FastString
 import FastTypes
 import qualified Pretty
@@ -622,7 +622,9 @@ pprPanic    = pprAndThen panic              -- Throw an exn saying "bug in GHC"
 
 pprPgmError = pprAndThen pgmError      -- Throw an exn saying "bug in pgm being compiled"
                                        --      (used for unusual pgm errors)
-pprTrace    = pprAndThen trace
+pprTrace str doc x
+   | opt_NoDebugOutput = x
+   | otherwise         = pprAndThen trace str doc x
 
 pprPanicFastInt :: String -> SDoc -> FastInt
 pprPanicFastInt heading pretty_msg = panicFastInt (show (doc PprDebug))
@@ -644,6 +646,7 @@ assertPprPanic file line msg
                    msg]
 
 warnPprTrace :: Bool -> String -> Int -> SDoc -> a -> a
+warnPprTrace _     _file _line _msg x | opt_NoDebugOutput = x
 warnPprTrace False _file _line _msg x = x
 warnPprTrace True   file  line  msg x
   = trace (show (doc PprDebug)) x
index 638ab7a..e00cd8f 100644 (file)
       </varlistentry>
 
       <varlistentry>
-       <term>
-          <option>-dshow-unused-imports</option>
-          <indexterm><primary><option>-dshow-unused-imports</option></primary></indexterm>
+        <term>
+          <option>-dno-debug-output</option>
+          <indexterm><primary><option>-dno-debug-output</option></primary></indexterm>
         </term>
-       <listitem>
-         <para>Have the renamer report what imports does not
-       contribute.</para>
-       </listitem>
+        <listitem>
+          <para>Suppress any unsolicited debugging output.  When GHC
+            has been built with the <literal>DEBUG</literal> option it
+            occasionally emits debug output of interest to developers.
+            The extra output can confuse the testing framework and
+            cause bogus test failures, so this flag is provided to
+            turn it off.</para>
+        </listitem>
       </varlistentry>
     </variablelist>
   </sect2>
index 7de1ae8..9b1e272 100644 (file)
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-dno-debug-output</option></entry>
+             <entry>Suppress unsolicited debugging output</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-dppr-debug</option></entry>
              <entry>Turn on debug printing (more verbose)</entry>
              <entry>static</entry>