Make some profiling flags dynamic
[ghc-hetmet.git] / docs / users_guide / flags.xml
index d3d91b3..aa84b81 100644 (file)
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-n</option></entry>
+             <entry>do a dry run</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-v</option></entry>
              <entry>verbose mode (equivalent to <option>-v3</option>)</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>&ndash;&ndash;supported-languages</option></entry>
+             <entry>display the supported language extensions</entry>
+             <entry>mode</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>&ndash;&ndash;info</option></entry>
+             <entry>display information about the compiler</entry>
+             <entry>mode</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>&ndash;&ndash;version</option></entry>
              <entry>display GHC version</entry>
              <entry>mode</entry>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-H</option><replaceable>size</replaceable></entry>
+             <entry>Set the minimum heap size to <replaceable>size</replaceable></entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-Rghc-timing</option></entry>
              <entry>Summarise timing stats for GHC (same as <literal>+RTS -tstderr</literal>)</entry>
              <entry>static</entry>
          <tbody>
            <row>
              <entry><option>--interactive</option></entry>
-             <entry>Interactive mode - normally used by just running <command>ghci</command></entry>
+             <entry>Interactive mode - normally used by just running <command>ghci</command>;
+             see <xref linkend="ghci"/> for details.</entry>
              <entry>mode</entry>
              <entry>-</entry>
            </row>
            <row>
              <entry><option>--make</option></entry>
-             <entry>Build a multi-module Haskell program, automatically figuring out dependencies. Likely to be much easier, and faster, than using <command>make</command>.</entry>
+             <entry>Build a multi-module Haskell program, automatically figuring out dependencies. Likely to be much easier, and faster, than using <command>make</command>;
+             see <xref linkend="make-mode"/> for details..</entry>
              <entry>mode</entry>
              <entry>-</entry>
            </row>
            <row>
              <entry><option>-e <replaceable>expr</replaceable></option></entry>
-             <entry>Evaluate <replaceable>expr</replaceable></entry>
+             <entry>Evaluate <replaceable>expr</replaceable>;
+             see <xref linkend="eval-mode"/> for details.</entry>
              <entry>mode</entry>
              <entry>-</entry>
            </row>
            <row>
              <entry><option>-M</option></entry>
-             <entry>Generate dependency information suitable for use in a <filename>Makefile</filename>.</entry>
+             <entry>Generate dependency information suitable for use in a <filename>Makefile</filename>;
+             see <xref linkend="makefile-dependencies"/> for details.</entry>
              <entry>mode</entry>
              <entry>-</entry>
            </row>
            </row>
            <row>
              <entry><option>-odir</option> <replaceable>dir</replaceable></entry>
-             <entry>set output directory</entry>
+             <entry>set directory for object files</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
+           <row>
+             <entry><option>-outputdir</option> <replaceable>dir</replaceable></entry>
+             <entry>set output directory</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
          </tbody>
        </tgroup>
       </informaltable>
          </thead>
          <tbody>
            <row>
-             <entry><option>-keep-hc-file</option></entry>
+             <entry><option>-keep-hc-file</option> or
+                 <option>-keep-hc-files</option></entry>
              <entry>retain intermediate <literal>.hc</literal> files</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-keep-s-file</option></entry>
+             <entry><option>-keep-s-file</option> or
+                 <option>-keep-s-files</option></entry>
              <entry>retain intermediate <literal>.s</literal> files</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-keep-raw-s-file</option></entry>
+             <entry><option>-keep-raw-s-file</option> or
+                 <option>-keep-raw-s-files</option></entry>
              <entry>retain intermediate <literal>.raw_s</literal> files</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
              <entry><option>-i</option><replaceable>dir1</replaceable>:<replaceable>dir2</replaceable>:...</entry>
              <entry>add <replaceable>dir</replaceable>,
                  <replaceable>dir2</replaceable>, etc. to import path</entry>
-             <entry>dynamic</entry>
+             <entry>static/<literal>:set</literal></entry>
              <entry>-</entry>
            </row>
            <row>
              <entry><option>-i</option></entry>
              <entry>Empty the import directory list</entry>
-             <entry>dynamic</entry>
+             <entry>static/<literal>:set</literal></entry>
              <entry>-</entry>
            </row>
          </tbody>
            </row>
            <row>
              <entry><option>--show-iface</option> <replaceable>file</replaceable></entry>
-             <entry>Read the interface in
-             <replaceable>file</replaceable> and dump it as text to
-             <literal>stdout</literal>.</entry>
-             <entry>mode</entry>
-             <entry>-</entry>
+             <entry>See <xref linkend="modes"/>.</entry>
            </row>
          </tbody>
        </tgroup>
          </thead>
          <tbody>
            <row>
-             <entry><option>-no-recomp</option></entry>
+             <entry><option>-fforce-recomp</option></entry>
              <entry>Turn off recompilation checking; implied by any
              <option>-ddump-X</option> option</entry>
              <entry>dynamic</entry>
-             <entry><option>-recomp</option></entry>
+             <entry><option>-fno-force-recomp</option></entry>
            </row>
          </tbody>
        </tgroup>
       </informaltable>
     </sect2>
 
-    <sect2>
+    <sect2 id="interactive-mode-options">
       <title>Interactive-mode options</title>
       
       <para><xref linkend="ghci-dot-files"/></para>
              <entry>static</entry>
              <entry>-</entry>
            </row>
+           <row>
+             <entry><option>-fbreak-on-exception</option></entry>
+             <entry><link linkend="ghci-debugger-exceptions">Break on any exception thrown</link></entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-break-on-exception</option></entry>
+           </row>
+           <row>
+             <entry><option>-fbreak-on-error</option></entry>
+             <entry><link linkend="ghci-debugger-exceptions">Break on uncaught exceptions and errors</link></entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-break-on-error</option></entry>
+           </row>
+           <row>
+             <entry><option>-fprint-evld-with-show</option></entry>
+             <entry><link linkend="breakpoints">Enable usage of Show instances in <literal>:print</literal></link></entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-print-evld-with-show</option></entry>
+           </row>          
+           <row>
+             <entry><option>-fprint-bind-result</option></entry>
+             <entry><link linkend="ghci-stmts">Turn on printing of binding results in GHCi</link></entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-print-bind-result</option></entry>
+           </row>
+           <row>
+             <entry><option>-fno-print-bind-contents</option></entry>
+             <entry><link linkend="breakpoints">Turn off printing of binding contents in GHCi</link></entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-fno-implicit-import-qualified</option></entry>
+             <entry><link linkend="ghci-import-qualified">Turn off
+             implicit qualified import of everything in GHCi</link></entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+
          </tbody>
        </tgroup>
       </informaltable>
          </thead>
          <tbody>
            <row>
+             <entry><option>-package-name</option> <replaceable>P</replaceable></entry>
+             <entry>Compile to be part of package <replaceable>P</replaceable></entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-package</option> <replaceable>P</replaceable></entry>
              <entry>Expose package <replaceable>P</replaceable></entry>
-             <entry>dynamic</entry>
+             <entry>static/<literal>:set</literal></entry>
              <entry>-</entry>
            </row>
            <row>
            <row>
              <entry><option>-hide-package</option> <replaceable>name</replaceable></entry>
              <entry>Hide package <replaceable>P</replaceable></entry>
-             <entry>dynamic</entry>
+             <entry>static/<literal>:set</literal></entry>
              <entry>-</entry>
            </row>
            <row>
              <entry><option>-ignore-package</option> <replaceable>name</replaceable></entry>
              <entry>Ignore package <replaceable>P</replaceable></entry>
-             <entry>dynamic</entry>
+             <entry>static/<literal>:set</literal></entry>
              <entry>-</entry>
            </row>
            <row>
              <entry><option>-package-conf</option> <replaceable>file</replaceable></entry>
              <entry>Load more packages from <replaceable>file</replaceable></entry>
-             <entry>dynamic</entry>
+             <entry>static</entry>
              <entry>-</entry>
            </row>
            <row>
              <entry><option>-no-user-package-conf</option></entry>
              <entry>Don't load the user's package config file.</entry>
-             <entry>dynamic</entry>
+             <entry>static</entry>
              <entry>-</entry>
            </row>
          </tbody>
          </thead>
          <tbody>
            <row>
-             <entry><option>-fallow-overlapping-instances</option></entry>
+             <entry><option>-fglasgow-exts</option></entry>
+             <entry>Enable most language extensions</entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-glasgow-exts</option></entry>
+           </row>
+           <row>
+             <entry><option>-XOverlappingInstances</option></entry>
              <entry>Enable <link linkend="instance-overlap">overlapping instances</link></entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-allow-overlapping-instances</option></entry>
+             <entry><option>-XNoOverlappingInstances</option></entry>
            </row>
            <row>
-             <entry><option>-fallow-incoherent-instances</option></entry>
+             <entry><option>-XIncoherentInstances</option></entry>
              <entry>Enable <link linkend="instance-overlap">incoherent instances</link>.  
-             Implies <option>-fallow-overlapping-instances</option> </entry>
+             Implies <option>-XOverlappingInstances</option> </entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-allow-incoherent-instances</option></entry>
+             <entry><option>-XNoIncoherentInstances</option></entry>
            </row>
            <row>
-             <entry><option>-fallow-undecidable-instances</option></entry>
+             <entry><option>-XUndecidableInstances</option></entry>
              <entry>Enable <link linkend="undecidable-instances">undecidable instances</link></entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-allow-undecidable-instances</option></entry>
+             <entry><option>-XNoUndecidableInstances</option></entry>
            </row>
            <row>
              <entry><option>-fcontext-stack=N</option><replaceable>n</replaceable></entry>
-             <entry>set the <link linkend="undecidable-instances">limit for context reduction</link></entry>
+             <entry>set the <link linkend="undecidable-instances">limit for context reduction</link>. Default is 20.</entry>
              <entry>dynamic</entry>
-             <entry><option>20</option></entry>
+             <entry></entry>
            </row>
            <row>
-             <entry><option>-farrows</option></entry>
+             <entry><option>-XArrows</option></entry>
              <entry>Enable <link linkend="arrow-notation">arrow
              notation</link> extension</entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-arrows</option></entry>
+             <entry><option>-XNoArrows</option></entry>
            </row>
            <row>
-             <entry><option>-ffi</option> or <option>-fffi</option></entry>
-             <entry>Enable <link linkend="ffi">foreign function interface</link> (implied by
-             <option>-fglasgow-exts</option>)</entry>
+             <entry><option>-XDisambiguateRecordFields</option></entry>
+             <entry>Enable <link linkend="disambiguate-fields">record 
+             field disambiguation</link></entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-ffi</option></entry>
+             <entry><option>-XNoDisambiguateRecordFields</option></entry>
            </row>
            <row>
-             <entry><option>-fgenerics</option></entry>
-             <entry>Enable <link linkend="generic-classes">generic classes</link></entry>
+             <entry><option>-XForeignFunctionInterface</option></entry>
+             <entry>Enable <link linkend="ffi">foreign function interface</link> (implied by
+             <option>-fglasgow-exts</option>)</entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-fgenerics</option></entry>
+             <entry><option>-XNoForeignFunctionInterface</option></entry>
            </row>
            <row>
-             <entry><option>-fglasgow-exts</option></entry>
-             <entry>Enable most language extensions</entry>
+             <entry><option>-XGenerics</option></entry>
+             <entry>Enable <link linkend="generic-classes">generic classes</link></entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-glasgow-exts</option></entry>
+             <entry><option>-XNoGenerics</option></entry>
            </row>
            <row>
-             <entry><option>-fimplicit-params</option></entry>
+             <entry><option>-XImplicitParams</option></entry>
              <entry>Enable <link linkend="implicit-parameters">Implicit Parameters</link>.
              Implied by <option>-fglasgow-exts</option>.</entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-implicit-params</option></entry>
+             <entry><option>-XNoImplicitParams</option></entry>
            </row>
            <row>
              <entry><option>-firrefutable-tuples</option></entry>
              <entry><option>-fno-irrefutable-tuples</option></entry>
            </row>
            <row>
-             <entry><option>-fno-implicit-prelude</option></entry>
+             <entry><option>-XNoImplicitPrelude</option></entry>
              <entry>Don't implicitly <literal>import Prelude</literal></entry>
              <entry>dynamic</entry>
-             <entry><option>-fimplicit-prelude</option></entry>
+             <entry><option>-XImplicitPrelude</option></entry>
            </row>
            <row>
-             <entry><option>-fno-monomorphism-restriction</option></entry>
+             <entry><option>-XNoMonomorphismRestriction</option></entry>
              <entry>Disable the <link linkend="monomorphism">monomorphism restriction</link></entry>
              <entry>dynamic</entry>
-             <entry><option>-fmonomorphism-restriction</option></entry>
+             <entry><option>-XMonomorphismRrestriction</option></entry>
            </row>
            <row>
-             <entry><option>-fno-mono-pat-binds</option></entry>
+             <entry><option>-XNoMonoPatBinds</option></entry>
              <entry>Make <link linkend="monomorphism">pattern bindings polymorphic</link></entry>
              <entry>dynamic</entry>
-             <entry><option>-fmono-pat-binds</option></entry>
+             <entry><option>-XMonoPatBinds</option></entry>
+           </row>
+           <row>
+             <entry><option>-XRelaxedPolyRec</option></entry>
+             <entry>Relaxed checking for <link linkend="typing-binds">mutually-recursive polymorphic functions</link></entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoRelaxedPolyRec</option></entry>
            </row>
            <row>
-             <entry><option>-fextended-default-rules</option></entry>
+             <entry><option>-XExtendedDefaultRules</option></entry>
              <entry>Use GHCi's <link linkend="extended-default-rules">extended default rules</link> in a normal module</entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-extended-default-rules</option></entry>
+             <entry><option>-XNoExtendedDefaultRules</option></entry>
+           </row>
+           <row>
+             <entry><option>-XOverloadedStrings</option></entry>
+             <entry>Enable <link linkend="overloaded-strings">overloaded string literals</link>.
+             </entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoOverloadedStrings</option></entry>
            </row>
            <row>
-             <entry><option>-fscoped-type-variables</option></entry>
+             <entry><option>-XGADTs</option></entry>
+             <entry>Enable <link linkend="gadt">generalised algebraic data types</link>.
+             </entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoGADTs</option></entry>
+           </row>
+           <row>
+             <entry><option>-XTypeFamilies</option></entry>
+             <entry>Enable <link linkend="type-families">type families</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoTypeFamilies</option></entry>
+           </row>
+           <row>
+             <entry><option>-XScopedTypeVariables</option></entry>
              <entry>Enable <link linkend="scoped-type-variables">lexically-scoped type variables</link>.
              Implied by <option>-fglasgow-exts</option>.</entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-scoped-type-variables</option></entry>
+             <entry><option>-XNoScopedTypeVariables</option></entry>
            </row>
            <row>
-             <entry><option>-fth</option></entry>
+             <entry><option>-XTemplateHaskell</option></entry>
              <entry>Enable <link linkend="template-haskell">Template Haskell</link>. 
                No longer implied by <option>-fglasgow-exts</option>.</entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-th</option></entry>
+             <entry><option>-XNoTemplateHaskell</option></entry>
+           </row>
+           <row>
+             <entry><option>-XQuasiQuotes</option></entry>
+             <entry>Enable <link linkend="th-quasiquotation">quasiquotation</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoQuasiQuotes</option></entry>
+           </row>
+           <row>
+             <entry><option>-XBangPatterns</option></entry>
+             <entry>Enable <link linkend="bang-patterns">bang patterns</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoBangPatterns</option></entry>
+           </row>
+           <row>
+             <entry><option>-XCPP</option></entry>
+             <entry>Enable the <link linkend="c-pre-processor">C preprocessor</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoCPP</option></entry>
+           </row>
+           <row>
+             <entry><option>-XPatternGuards</option></entry>
+             <entry>Enable <link linkend="pattern-guards">pattern guards</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoPatternGuards</option></entry>
+           </row>
+           <row>
+             <entry><option>-XViewPatterns</option></entry>
+             <entry>Enable <link linkend="view-patterns">view patterns</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoViewPatterns</option></entry>
+           </row>
+           <row>
+             <entry><option>-XUnicodeSyntax</option></entry>
+             <entry>Enable unicode syntax.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoUnicodeSyntax</option></entry>
            </row>
            <row>
-             <entry><option>-fbang-patterns</option></entry>
-             <entry>Enable <link linkend="sec-bang-patterns">bang patterns</link>.</entry>
+             <entry><option>-XMagicHash</option></entry>
+             <entry>Allow "#" as a <link linkend="magic-hash">postfix modifier on identifiers</link>.</entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-bang-patterns</option></entry>
+             <entry><option>-XNoMagicHash</option></entry>
+           </row>
+           <row>
+             <entry><option>-XNewQualifiedOperators</option></entry>
+             <entry>Enable <link linkend="new-qualified-operators">new
+             qualified operator syntax</link></entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoNewQualifiedOperators</option></entry>
+           </row>
+           <row>
+             <entry><option>-XPolymorphicComponents</option></entry>
+             <entry>Enable <link linkend="universal-quantification">polymorphic components for data constructors</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoPolymorphicComponents</option></entry>
+           </row>
+           <row>
+             <entry><option>-XRank2Types</option></entry>
+             <entry>Enable <link linkend="universal-quantification">rank-2 types</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoRank2Types</option></entry>
+           </row>
+           <row>
+             <entry><option>-XRankNTypes</option></entry>
+             <entry>Enable <link linkend="universal-quantification">rank-N types</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoRankNTypes</option></entry>
+           </row>
+           <row>
+             <entry><option>-XImpredicativeTypes</option></entry>
+             <entry>Enable <link linkend="impredicative-polymorphism">impredicative types</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoImpredicativeTypes</option></entry>
+           </row>
+           <row>
+             <entry><option>-XExistentialQuantification</option></entry>
+             <entry>Enable <link linkend="existential-quantification">existential quantification</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoExistentialQuantification</option></entry>
+           </row>
+           <row>
+             <entry><option>-XKindSignatures</option></entry>
+             <entry>Enable <link linkend="kinding">kind signatures</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoKindSignatures</option></entry>
+           </row>
+           <row>
+             <entry><option>-XEmptyDataDecls</option></entry>
+             <entry>Enable empty data declarations.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoEmptyDataDecls</option></entry>
+           </row>
+           <row>
+             <entry><option>-XParallelListComp</option></entry>
+             <entry>Enable <link linkend="parallel-list-comprehensions">parallel list comprehensions</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoParallelListComp</option></entry>
+           </row>
+           <row>
+             <entry><option>-XTransformListComp</option></entry>
+             <entry>Enable <link linkend="generalised-list-comprehensions">transform list comprehensions</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoTransformListComp</option></entry>
+           </row>
+           <row>
+             <entry><option>-XUnliftedFFITypes</option></entry>
+             <entry>Enable unlifted FFI types.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoUnliftedFFITypes</option></entry>
+           </row>
+           <row>
+             <entry><option>-XLiberalTypeSynonyms</option></entry>
+             <entry>Enable <link linkend="type-synonyms">liberalised type synonyms</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoLiberalTypeSynonyms</option></entry>
+           </row>
+           <row>
+             <entry><option>-XTypeOperators</option></entry>
+             <entry>Enable type operators.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoTypeOperators</option></entry>
+           </row>
+           <row>
+             <entry><option>-XRecursiveDo</option></entry>
+             <entry>Enable <link linkend="mdo-notation">recursive do (mdo) notation</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoRecursiveDo</option></entry>
+           </row>
+           <row>
+             <entry><option>-XPArr</option></entry>
+             <entry>Enable parallel arrays.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoPArr</option></entry>
+           </row>
+           <row>
+             <entry><option>-XRecordWildCards</option></entry>
+             <entry>Enable <link linkend="record-wildcards">record wildcards</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoRecordWildCards</option></entry>
+           </row>
+           <row>
+             <entry><option>-XNamedFieldPuns</option></entry>
+             <entry>Enable <link linkend="record-puns">record puns</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoNamedFieldPuns</option></entry>
+           </row>
+           <row>
+             <entry><option>-XDisambiguateRecordFields</option></entry>
+             <entry>Enable  <link linkend="disambiguate-fields">record field disambiguation</link>. </entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoDisambiguateRecordFields</option></entry>
+           </row>
+           <row>
+             <entry><option>-XUnboxedTuples</option></entry>
+             <entry>Enable <link linkend="unboxed-tuples">unboxed tuples</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoUnboxedTuples</option></entry>
+           </row>
+           <row>
+             <entry><option>-XStandaloneDeriving</option></entry>
+             <entry>Enable <link linkend="stand-alone-deriving">standalone deriving</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoStandaloneDeriving</option></entry>
+           </row>
+           <row>
+             <entry><option>-XDeriveDataTypeable</option></entry>
+             <entry>Enable <link linkend="deriving-typeable">deriving for the Data and Typeable classes</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoDeriveDataTypeable</option></entry>
+           </row>
+           <row>
+             <entry><option>-XGeneralizedNewtypeDeriving</option></entry>
+             <entry>Enable <link linkend="newtype-deriving">newtype deriving</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoGeneralizedNewtypeDeriving</option></entry>
+           </row>
+           <row>
+             <entry><option>-XTypeSynonymInstances</option></entry>
+             <entry>Enable <link linkend="type-synonym-instances">type synonyms</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoTypeSynonymInstances</option></entry>
+           </row>
+           <row>
+             <entry><option>-XFlexibleContexts</option></entry>
+             <entry>Enable <link linkend="flexible-contexts">flexible contexts</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoFlexibleContexts</option></entry>
+           </row>
+           <row>
+             <entry><option>-XFlexibleInstances</option></entry>
+             <entry>Enable <link linkend="instance-rules">flexible instances</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoFlexibleInstances</option></entry>
+           </row>
+           <row>
+             <entry><option>-XConstrainedClassMethods</option></entry>
+             <entry>Enable <link linkend="class-method-types">constrained class methods</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoConstrainedClassMethods</option></entry>
+           </row>
+           <row>
+             <entry><option>-XMultiParamTypeClasses</option></entry>
+             <entry>Enable <link linkend="multi-param-type-classes">multi parameter type classes</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoMultiParamTypeClasses</option></entry>
+           </row>
+           <row>
+             <entry><option>-XFunctionalDependencies</option></entry>
+             <entry>Enable <link linkend="functional-dependencies">functional dependencies</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoFunctionalDependencies</option></entry>
+           </row>
+           <row>
+             <entry><option>-XPackageImports</option></entry>
+             <entry>Enable <link linkend="package-imports">package-qualified imports</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoPackageImports</option></entry>
            </row>
          </tbody>
        </tgroup>
          </row>
          <row>
            <entry><option>-Wall</option></entry>
-           <entry>enable all warnings</entry>
+           <entry>enable almost all warnings (details in <xref linkend="options-sanity"/>)</entry>
            <entry>dynamic</entry>
            <entry><option>-w</option></entry>
          </row>
            <entry><option>-Werror</option></entry>
            <entry>make warnings fatal</entry>
            <entry>dynamic</entry>
-           <entry></entry>
+           <entry>-Wwarn</entry>
+         </row>
+         <row>
+           <entry><option>-Wwarn</option></entry>
+           <entry>make warnings non-fatal</entry>
+           <entry>dynamic</entry>
+           <entry>-Werror</entry>
+         </row>
+
+         <row>
+           <entry><option>-fwarn-warnings-deprecations</option></entry>
+           <entry>warn about uses of functions &amp; types that have warnings or deprecated pragmas</entry>
+           <entry>dynamic</entry>
+           <entry><option>-fno-warn-warnings-deprecations</option></entry>
          </row>
 
          <row>
-           <entry><option>-fwarn-deprecations</option></entry>
-           <entry>warn about uses of functions &amp; types that are deprecated</entry>
+           <entry><option>-fwarn-deprecated-flags</option></entry>
+           <entry>warn about uses of commandline flags that are deprecated</entry>
            <entry>dynamic</entry>
-           <entry><option>-fno-warn-deprecations</option></entry>
+           <entry><option>-fno-warn-deprecated-flags</option></entry>
          </row>
 
          <row>
            <entry><option>-fno-warn-hi-shadowing</option></entry>
          </row>
 
+          <row>
+            <entry><option>-fwarn-implicit-prelude</option></entry>
+            <entry>warn when the Prelude is implicitly imported</entry>
+            <entry>dynamic</entry>
+            <entry><option>-fno-warn-implicit-prelude</option></entry>
+          </row>
+
          <row>
            <entry><option>-fwarn-incomplete-patterns</option></entry>
            <entry>warn when a pattern match could fail</entry>
          </row>
 
          <row>
-           <entry><option>-fwarn-misc</option></entry>
-           <entry>enable miscellaneous warnings</entry>
-           <entry>dynamic</entry>
-           <entry><option>-fno-warn-misc</option></entry>
-         </row>
-
-         <row>
            <entry><option>-fwarn-missing-fields</option></entry>
            <entry>warn when fields of a record are uninitialised</entry>
            <entry>dynamic</entry>
          </row>
 
          <row>
-           <entry><option>-fwarn-oprhans</option></entry>
-           <entry>warn when the module contains "orphan" instance declarations
-           or rewrite rules</entry>
+           <entry><option>-fwarn-orphans</option></entry>
+           <entry>warn when the module contains <link linkend="orphan-modules">orphan instance declarations
+           or rewrite rules</link></entry>
            <entry>dynamic</entry>
            <entry><option>-fno-warn-orphans</option></entry>
          </row>
          </row>
 
          <row>
+           <entry><option>-fwarn-tabs</option></entry>
+           <entry>warn if there are tabs in the source file</entry>
+           <entry>dynamic</entry>
+           <entry><option>-fno-warn-tabs</option></entry>
+         </row>
+
+         <row>
            <entry><option>-fwarn-type-defaults</option></entry>
            <entry>warn when defaulting happens</entry>
            <entry>dynamic</entry>
          </row>
 
          <row>
+           <entry><option>-fwarn-monomorphism-restriction</option></entry>
+           <entry>warn when the Monomorphism Restriction is applied</entry>
+           <entry>dynamic</entry>
+           <entry><option>-fno-warn-monomorphism-restriction</option></entry>
+         </row>
+
+         <row>
            <entry><option>-fwarn-unused-binds</option></entry>
            <entry>warn about bindings that are unused</entry>
            <entry>dynamic</entry>
          <tbody>
            <row>
              <entry><option>-fcase-merge</option></entry>
-             <entry>Enable case-merging</entry>
+             <entry>Enable case-merging. Implied by <option>-O</option>.</entry>
              <entry>dynamic</entry>
              <entry><option>-fno-case-merge</option></entry>
            </row>
            </row>
 
            <row>
+             <entry><option>-fmethod-sharing</option></entry>
+             <entry>Share specialisations of overloaded functions (default)</entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-method-sharing</option></entry>
+           </row>
+
+           <row>
              <entry><option>-fdo-eta-reduction</option></entry>
-             <entry>Enable eta-reduction</entry>
+             <entry>Enable eta-reduction. Implied by <option>-O</option>.</entry>
              <entry>dynamic</entry>
              <entry><option>-fno-do-eta-reduction</option></entry>
            </row>
            </row>
 
            <row>
-             <entry><option>-frules-off</option></entry>
-             <entry>Switch off all rewrite rules (including rules
-             generated by automatic specialisation of overloaded functions)</entry>
-             <entry>static</entry>
-             <entry><option>-frules-off</option></entry>
-           </row>
-
-           <row>
              <entry><option>-fignore-asserts</option></entry>
              <entry>Ignore assertions in the source</entry>
              <entry>dynamic</entry>
            </row>
 
            <row>
-             <entry><option>-fliberate-case-threshold</option></entry>
-             <entry>Tweak the liberate-case optimisation (default: 10)</entry>
-             <entry>static</entry>
-             <entry><option>-fno-liberate-case-threshold</option></entry>
-           </row>
-
-           <row>
              <entry><option>-fomit-interface-pragmas</option></entry>
              <entry>Don't generate interface pragmas</entry>
              <entry>dynamic</entry>
            </row>
 
            <row>
+             <entry><option>-fsimplifier-phases</option></entry>
+             <entry>Set the number of phases for the simplifier (default 2).
+              Ignored with <option>-O0</option>.</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+
+           <row>
              <entry><option>-fmax-simplifier-iterations</option></entry>
              <entry>Set the max iterations for the simplifier</entry>
              <entry>dynamic</entry>
            </row>
 
            <row>
-             <entry><option>-fno-cse</option></entry>
-             <entry>Turn off common sub-expression</entry>
+             <entry><option>-fcse</option></entry>
+             <entry>Turn on common sub-expression elimination. Implied by <option>-O</option>.</entry>
              <entry>dynamic</entry>
-             <entry>-</entry>
+             <entry>-fno-cse</entry>
            </row>
 
            <row>
-             <entry><option>-fno-full-laziness</option></entry>
-             <entry>Turn off full laziness (floating bindings outwards).</entry>
+             <entry><option>-ffull-laziness</option></entry>
+             <entry>Turn on full laziness (floating bindings outwards). Implied by <option>-O</option>.</entry>
              <entry>dynamic</entry>
-             <entry>-ffull-laziness</entry>
+             <entry>-fno-full-laziness</entry>
            </row>
 
            <row>
-             <entry><option>-fno-pre-inlining</option></entry>
-             <entry>Turn off pre-inlining</entry>
+             <entry><option>-frewrite-rules</option></entry>
+             <entry>Switch on all rewrite rules (including rules
+             generated by automatic specialisation of overloaded functions).
+             Implied by <option>-O</option>. </entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-rewrite-rules</option></entry>
+           </row>
+
+           <row>
+             <entry><option>-fstrictness</option></entry>
+             <entry>Turn on strictness analysis. Implied by <option>-O</option>.</entry>
+             <entry>dynamic</entry>
+             <entry>-fno-strictness</entry>
+           </row>
+
+           <row>
+             <entry><option>-fspec-constr</option></entry>
+             <entry>Turn on the SpecConstr transformation. Implied by <option>-O2</option>.</entry>
+             <entry>dynamic</entry>
+             <entry>-fno-spec-constr</entry>
+           </row>
+
+           <row>
+             <entry><option>-fspec-constr-threshold</option>=<replaceable>n</replaceable></entry>
+             <entry>Set the size threshold for the SpecConstr transformation to <replaceable>n</replaceable> (default: 200)</entry>
              <entry>static</entry>
-             <entry>-</entry>
+             <entry><option>-fno-spec-constr-threshold</option></entry>
+           </row>
+
+           <row>
+             <entry><option>-fspec-constr-count</option>=<replaceable>n</replaceable></entry>
+             <entry>Set to <replaceable>n</replaceable> (default: 3) the maximum number of 
+               specialisations that will be created for any one function
+               by the SpecConstr transformation</entry>
+             <entry>static</entry>
+             <entry><option>-fno-spec-constr-count</option></entry>
            </row>
 
            <row>
-             <entry><option>-fno-strictness</option></entry>
-             <entry>Turn off strictness analysis</entry>
+             <entry><option>-fliberate-case</option></entry>
+             <entry>Turn on the liberate-case transformation. Implied by <option>-O2</option>.</entry>
              <entry>dynamic</entry>
-             <entry>-</entry>
+             <entry>-fno-liberate-case</entry>
+           </row>
+
+           <row>
+             <entry><option>-fstatic-argument-transformation</option></entry>
+             <entry>Turn on the static argument transformation. Implied by <option>-O2</option>.</entry>
+             <entry>dynamic</entry>
+             <entry>-fno-static-argument-transformation</entry>
+           </row>
+
+           <row>
+             <entry><option>-fliberate-case-threshold</option>=<replaceable>n</replaceable></entry>
+             <entry>Set the size threshold for the liberate-case transformation to <replaceable>n</replaceable> (default: 200)</entry>
+             <entry>static</entry>
+             <entry><option>-fno-liberate-case-threshold</option></entry>
            </row>
 
            <row>
            </row>
 
            <row>
-             <entry><option>-funfolding-update-in-place</option></entry>
+             <entry><option>-funfolding-use-threshold</option></entry>
              <entry>Tweak unfolding settings</entry>
              <entry>static</entry>
-             <entry><option>-fno-unfolding-update-in-place</option></entry>
+             <entry><option>-fno-unfolding-use-threshold</option></entry>
            </row>
 
            <row>
-             <entry><option>-funfolding-use-threshold</option></entry>
-             <entry>Tweak unfolding settings</entry>
+             <entry><option>-fno-pre-inlining</option></entry>
+             <entry>Turn off pre-inlining</entry>
              <entry>static</entry>
-             <entry><option>-fno-unfolding-use-threshold</option></entry>
+             <entry>-</entry>
            </row>
          </tbody>
        </tgroup>
              <entry><option>-auto</option></entry>
              <entry>Auto-add <literal>_scc_</literal>s to all
              exported functions</entry>
-             <entry>static</entry>
+             <entry>dynamic</entry>
              <entry><option>-no-auto</option></entry>
            </row>
            <row>
              <entry><option>-auto-all</option></entry>
              <entry>Auto-add <literal>_scc_</literal>s to all
              top-level functions</entry>
-             <entry>static</entry>
+             <entry>dynamic</entry>
              <entry><option>-no-auto-all</option></entry>
            </row>
            <row>
-             <entry><option>-auto-dicts</option></entry>
-             <entry>Auto-add <literal>_scc_</literal>s to all dictionaries</entry>
-             <entry>static</entry>
-             <entry><option>-no-auto-dicts</option></entry>
-           </row>
-           <row>
              <entry><option>-caf-all</option></entry>
              <entry>Auto-add <literal>_scc_</literal>s to all CAFs</entry>
-             <entry>static</entry>
+             <entry>dynamic</entry>
              <entry><option>-no-caf-all</option></entry>
            </row>
            <row>
     </sect2>
 
     <sect2>
+      <title>Program coverage options</title>
+      
+      <para><xref linkend="hpc"/></para>
+
+      <informaltable>
+       <tgroup cols="4" align="left" colsep="1" rowsep="1">
+         <thead>
+           <row>
+             <entry>Flag</entry>
+             <entry>Description</entry>
+             <entry>Static/Dynamic</entry>
+             <entry>Reverse</entry>
+           </row>
+         </thead>
+         <tbody>
+           <row>
+             <entry><option>-fhpc</option></entry>
+             <entry>Turn on Haskell program coverage instrumentation</entry>
+             <entry>static</entry>
+             <entry><option>-</option></entry>
+           </row>
+           <row>
+             <entry><option>-hpcdir dir</option></entry>
+             <entry>Directory to deposit .mix files during compilation (default is .hpc)</entry>
+             <entry>dynamic</entry>
+             <entry><option>-</option></entry>
+           </row>
+         </tbody>
+       </tgroup>
+      </informaltable>
+    </sect2>
+
+    <sect2>
       <title>Haskell pre-processor options</title>
 
       <para><xref linkend="pre-processor"/></para>
            <row>
              <entry><option>-fno-code</option></entry>
              <entry>Omit code generation</entry>
-             <entry>mode</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-fbyte-code</option></entry>
+             <entry>Generate byte-code</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-fobject-code</option></entry>
+             <entry>Generate object code</entry>
+             <entry>dynamic</entry>
              <entry>-</entry>
            </row>
          </tbody>
          </thead>
          <tbody>
            <row>
+             <entry><option>-fPIC</option></entry>
+             <entry>Generate position-independent code (where available)</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-dynamic</option></entry>
              <entry>Use dynamic Haskell libraries (if available)</entry>
              <entry>static</entry>
            </row>
            <row>
              <entry><option>-main-is</option></entry>
-             <entry>Set main function</entry>
+             <entry>Set main module and function</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
              <entry>static</entry>
              <entry>-</entry>
            </row>
+           <row>
+             <entry><option>-fno-gen-manifest</option></entry>
+             <entry>Do not generate a manifest file (Windows only)</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-fno-embed-manifest</option></entry>
+             <entry>Do not embed the manifest in the executable (Windows only)</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
          </tbody>
        </tgroup>
       </informaltable>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-pgmm</option> <replaceable>cmd</replaceable></entry>
+             <entry>Use <replaceable>cmd</replaceable> as the mangler</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-pgms</option> <replaceable>cmd</replaceable></entry>
+             <entry>Use <replaceable>cmd</replaceable> as the splitter</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-pgma</option> <replaceable>cmd</replaceable></entry>
              <entry>Use <replaceable>cmd</replaceable> as the assembler</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-pgmdep</option> <replaceable>cmd</replaceable></entry>
-             <entry>Use <replaceable>cmd</replaceable> as the dependency generator</entry>
-             <entry>dyanmic</entry>
-             <entry>-</entry>
-           </row>
-           <row>
              <entry><option>-pgmF</option> <replaceable>cmd</replaceable></entry>
              <entry>Use <replaceable>cmd</replaceable> as the pre-processor
              (with <option>-F</option> only)</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
+           <row>
+             <entry><option>-pgmwindres</option> <replaceable>cmd</replaceable></entry>
+             <entry>Use <replaceable>cmd</replaceable> as the program for
+                embedding manifests on Windows.</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
          </tbody>
        </tgroup>
       </informaltable>
       <indexterm><primary><option>-pgma</option></primary></indexterm>
       <indexterm><primary><option>-pgml</option></primary></indexterm>
       <indexterm><primary><option>-pgmdll</option></primary></indexterm>
-      <indexterm><primary><option>-pgmdep</option></primary></indexterm>
       <indexterm><primary><option>-pgmF</option></primary></indexterm>
 
     </sect2>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-optm</option> <replaceable>option</replaceable></entry>
+             <entry>pass <replaceable>option</replaceable> to the mangler</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-opta</option> <replaceable>option</replaceable></entry>
              <entry>pass <replaceable>option</replaceable> to the assembler</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-optdep</option> <replaceable>option</replaceable></entry>
-             <entry>pass <replaceable>option</replaceable> to the dependency generator</entry>
+             <entry><option>-optwindres</option> <replaceable>option</replaceable></entry>
+             <entry>pass <replaceable>option</replaceable> to <literal>windres</literal>.</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
          </thead>
          <tbody>
            <row>
-             <entry><option>-mv8</option></entry>
-             <entry>(SPARC only) enable version 8 support</entry>
-             <entry>static</entry>
-             <entry>-</entry>
-           </row>
-           <row>
-             <entry><option>-monly-[32]-regs</option></entry>
+             <entry><option>-monly-[432]-regs</option></entry>
              <entry>(x86 only) give some registers back to the C compiler</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-ddump-absC</option></entry>
-             <entry>Dump abstract C</entry>
-             <entry>dynamic</entry>
-             <entry>-</entry>
-           </row>
-           <row>
              <entry><option>-ddump-asm</option></entry>
              <entry>Dump assembly</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-ddump-cmm</option></entry>
+             <entry>Dump C-- output</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-ddump-cpranal</option></entry>
              <entry>Dump output from CPR analysis</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-ddump-hpc</option></entry>
+             <entry>Dump after instrumentation for program coverage</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-ddump-inlinings</option></entry>
              <entry>Dump inlining info</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-ddump-opt-cmm</option></entry>
+             <entry>Dump the results of C-- to C-- optimising passes</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-ddump-parsed</option></entry>
              <entry>Dump parse tree</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-ddump-realC</option></entry>
-             <entry>Dump &ldquo;real&rdquo; C</entry>
+             <entry><option>-ddump-prep</option></entry>
+             <entry>Dump prepared core</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-ddump-sat</option></entry>
-             <entry>Dump saturated output</entry>
+             <entry><option>-ddump-simpl</option></entry>
+             <entry>Dump final simplifier output</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-ddump-simpl</option></entry>
-             <entry>Dump final simplifier output</entry>
+             <entry><option>-ddump-simpl-phases</option></entry>
+             <entry>Dump output from each simplifier phase</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-ddump-splices</option></entry>
+             <entry>Dump TH spliced expressions, and what they evaluate to</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-ddump-stg</option></entry>
              <entry>Dump final STG</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-ddump-usagesp</option></entry>
-             <entry>Dump UsageSP analysis output</entry>
+             <entry><option>-ddump-worker-wrapper</option></entry>
+             <entry>Dump worker-wrapper output</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-ddump-worker-wrapper</option></entry>
-             <entry>Dump worker-wrapper output</entry>
+             <entry><option>-ddump-if-trace</option></entry>
+             <entry>Trace interface files</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-ddump-tc-trace</option></entry>
+             <entry>Trace typechecker</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-ddump-stix</option></entry>
-             <entry>Native code generator intermediate form</entry>
+             <entry><option>-ddump-simpl-stats</option></entry>
+             <entry>Dump simplifier stats</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-ddump-simpl-stats</option></entry>
-             <entry>Dump simplifier stats</entry>
-             <entry>dynamic</entry>
+             <entry><option>-dno-debug-output</option></entry>
+             <entry>Suppress unsolicited debugging output</entry>
+             <entry>static</entry>
              <entry>-</entry>
            </row>
            <row>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-dsuppress-uniques</option></entry>
+             <entry>Suppress the printing of uniques in debug output (easier to use <command>diff</command>.</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-dppr-noprags</option></entry>
              <entry>Don't output pragma info in dumps</entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-dstg-lint</option></entry>
-             <entry>STG pass sanity checking</entry>
+             <entry><option>-dcmm-lint</option></entry>
+             <entry>C-- pass sanity checking</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-dstg-stats</option></entry>
-             <entry>Dump STG stats</entry>
+             <entry><option>-dstg-lint</option></entry>
+             <entry>STG pass sanity checking</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-dusagesp-lint</option></entry>
-             <entry>UsageSP sanity checker</entry>
+             <entry><option>-dstg-stats</option></entry>
+             <entry>Dump STG stats</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-unreg</option></entry>
-             <entry>Enable unregisterised compilation</entry>
-             <entry>static</entry>
+             <entry><option>-dshow-passes</option></entry>
+             <entry>Print out each pass name as it happens</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-dfaststring-stats</option></entry>
+             <entry>Show statistics for fast string usage when finished</entry>
+             <entry>dynamic</entry>
              <entry>-</entry>
            </row>
          </tbody>
          </thead>
          <tbody>
            <row>
-             <entry><option>-femit-extern-decls</option></entry>
-             <entry>???</entry>
-             <entry>static</entry>
-             <entry>-</entry>
-           </row>
-           <row>
              <entry><option>-fno-hi-version-check</option></entry>
              <entry>Don't complain about <literal>.hi</literal> file mismatches</entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-fno-method-sharing</option></entry>
-             <entry>Don't share specialisations of overloaded functions</entry>
-             <entry>static</entry>
-             <entry>-</entry>
-           </row>
-           <row>
              <entry><option>-fhistory-size</option></entry>
              <entry>Set simplification history size</entry>
              <entry>static</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
-           <row>
-             <entry><option>-fno-print-bind-result</option></entry>
-             <entry><link id="ghci-stmts">Turn off printing of binding results in GHCi</link></entry>
-             <entry>dynamic</entry>
-             <entry>-</entry>
-           </row>
          </tbody>
        </tgroup>
       </informaltable>