Merge remote branch 'origin/master'
[ghc-hetmet.git] / docs / users_guide / flags.xml
index b6ace8d..71790b0 100644 (file)
              <entry>-</entry>
            </row>
            <row>
-             <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>
-           </row>
-           <row>
              <entry><option>-keep-tmp-files</option></entry>
              <entry>retain all intermediate temporary files</entry>
              <entry>dynamic</entry>
            <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>static</entry>
              <entry>-</entry>
            </row>
            <row>
              <entry><option>-XNoGADTs</option></entry>
            </row>
            <row>
+             <entry><option>-XGADTSyntax</option></entry>
+             <entry>Enable <link linkend="gadt-style">generalised algebraic data type syntax</link>.
+             </entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoGADTSyntax</option></entry>
+           </row>
+           <row>
              <entry><option>-XTypeFamilies</option></entry>
              <entry>Enable <link linkend="type-families">type families</link>.</entry>
              <entry>dynamic</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>-XExplicitForALl</option></entry>
              <entry>Enable <link linkend="explicit-foralls">explicit universal quantification</link>.
               Implied by <option>-XScopedTypeVariables</option>,
              <entry>dynamic</entry>
              <entry><option>-XNoTransformListComp</option></entry>
            </row>
+        <row>
+             <entry><option>-XMonadComprehensions</option></entry>
+             <entry>Enable <link linkend="monad-comprehensions">monad comprehensions</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoMonadComprehensions</option></entry>
+           </row>
            <row>
              <entry><option>-XUnliftedFFITypes</option></entry>
              <entry>Enable unlifted FFI types.</entry>
            </row>
            <row>
              <entry><option>-XFlexibleInstances</option></entry>
-             <entry>Enable <link linkend="instance-rules">flexible instances</link>.</entry>
-             <entry>dynamic</entry>
+              <entry>Enable <link linkend="instance-rules">flexible instances</link>.
+              Implies <option>-XTypeSynonymInstances</option> </entry>
+              <entry>dynamic</entry>
              <entry><option>-XNoFlexibleInstances</option></entry>
            </row>
            <row>
          </row>
 
          <row>
+           <entry><option>-fwarn-incomplete-uni-patterns</option></entry>
+           <entry>warn when a pattern match in a lambda expression or pattern binding could fail</entry>
+           <entry>dynamic</entry>
+           <entry><option>-fno-warn-incomplete-uni-patterns</option></entry>
+         </row>
+
+         <row>
            <entry><option>-fwarn-incomplete-record-updates</option></entry>
            <entry>warn when a record update could fail</entry>
            <entry>dynamic</entry>
          </row>
 
          <row>
+           <entry><option>-fwarn-missing-local-sigs</option></entry>
+           <entry>warn about polymorphic local bindings without signatures</entry>
+           <entry>dynamic</entry>
+           <entry><option>-fno-warn-missing-local-sigs</option></entry>
+         </row>
+
+         <row>
            <entry><option>-fwarn-name-shadowing</option></entry>
            <entry>warn when names are shadowed</entry>
            <entry>dynamic</entry>
@@ -1543,6 +1557,13 @@ phase <replaceable>n</replaceable></entry>
            </row>
 
            <row>
+             <entry><option>-fno-opt-coercion</option></entry>
+             <entry>Turn off the coercion optimiser</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+
+           <row>
              <entry><option>-feager-blackholing</option></entry>
              <entry>Turn on <link linkend="parallel-compile-options">eager blackholing</link></entry>
              <entry>dynamic</entry>
@@ -1735,13 +1756,7 @@ phase <replaceable>n</replaceable></entry>
              <entry><option>-fasm</option></entry>
              <entry>Use the native code generator</entry>
              <entry>dynamic</entry>
-             <entry>-fvia-C</entry>
-           </row>
-           <row>
-             <entry><option>-fvia-C</option></entry>
-             <entry>Compile via C</entry>
-             <entry>dynamic</entry>
-             <entry>-fasm</entry>
+             <entry>-fllvm</entry>
            </row>
            <row>
              <entry><option>-fllvm</option></entry>
@@ -1990,12 +2005,6 @@ phase <replaceable>n</replaceable></entry>
            </row>
            </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>
@@ -2224,6 +2233,12 @@ phase <replaceable>n</replaceable></entry>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-ddump-to-file</option></entry>
+             <entry>Dump to files instead of stdout</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-ddump-asm</option></entry>
              <entry>Dump assembly</entry>
              <entry>dynamic</entry>
@@ -2242,6 +2257,13 @@ phase <replaceable>n</replaceable></entry>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-ddump-core-stats</option></entry>
+             <entry>Print a one-line summary of the size of the Core program
+                     at the end of the optimisation pipeline </entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-ddump-cpranal</option></entry>
              <entry>Dump output from CPR analysis</entry>
              <entry>dynamic</entry>
@@ -2337,12 +2359,18 @@ phase <replaceable>n</replaceable></entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
-           <row>
-             <entry><option>-ddump-rules</option></entry>
-             <entry>Dump rules</entry>
-             <entry>dynamic</entry>
-             <entry>-</entry>
-           </row>
+      <row>
+        <entry><option>-ddump-rules</option></entry>
+        <entry>Dump rules</entry>
+        <entry>dynamic</entry>
+        <entry>-</entry>
+      </row>
+      <row>
+        <entry><option>-ddump-vect</option></entry>
+        <entry>Dump vectoriser input and output</entry>
+        <entry>dynamic</entry>
+        <entry>-</entry>
+      </row>
            <row>
              <entry><option>-ddump-simpl</option></entry>
              <entry>Dump final simplifier output</entry>
@@ -2409,12 +2437,18 @@ phase <replaceable>n</replaceable></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>
+      <row>
+        <entry><option>-ddump-tc-trace</option></entry>
+        <entry>Trace typechecker</entry>
+        <entry>dynamic</entry>
+        <entry>-</entry>
+      </row>
+      <row>
+        <entry><option>-ddump-vt-trace</option></entry>
+        <entry>Trace vectoriser</entry>
+        <entry>dynamic</entry>
+        <entry>-</entry>
+      </row>
            <row>
              <entry><option>-ddump-rn-trace</option></entry>
              <entry>Trace renamer</entry>
@@ -2446,32 +2480,68 @@ phase <replaceable>n</replaceable></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>-dppr-user-length</option></entry>
+             <entry>Set the depth for printing expressions in error msgs</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-dppr-colsNNN</option></entry>
+             <entry>Set the width of debugging output. For example <option>-dppr-cols200</option></entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-dppr-case-as-let</option></entry>
+             <entry>Print single alternative case expressions as strict lets.</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-dsuppress-all</option></entry>
+             <entry>In core dumps, suppress everything that is suppressable.</entry>
+             <entry>static</entry>
+             <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>Suppress the printing of uniques in debug output (easier to use <command>diff</command>)</entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-dsuppress-coercions</option></entry>
-             <entry>Suppress the printing of coercions in Core dumps to make them shorter.</entry>
+             <entry><option>-dsuppress-idinfo</option></entry>
+             <entry>Suppress extended information about identifiers where they are bound</entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
            <row>
              <entry><option>-dsuppress-module-prefixes</option></entry>
-             <entry>Suppress the printing of module qualification prefixes in Core dumps to make them easier to read.</entry>
+             <entry>Suppress the printing of module qualification prefixes</entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-dppr-noprags</option></entry>
-             <entry>Don't output pragma info in dumps</entry>
+             <entry><option>-dsuppress-type-signatures</option></entry>
+             <entry>Suppress type signatures</entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-dppr-user-length</option></entry>
-             <entry>Set the depth for printing expressions in error msgs</entry>
+             <entry><option>-dsuppress-type-applications</option></entry>
+             <entry>Suppress type applications</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-dsuppress-coercions</option></entry>
+             <entry>Suppress the printing of coercions in Core dumps to make them shorter</entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
@@ -2567,12 +2637,6 @@ phase <replaceable>n</replaceable></entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-fno-asm-mangling</option></entry>
-             <entry>Turn off assembly mangling (use <option>-unreg</option> instead)</entry>
-             <entry>dynamic</entry>
-             <entry>-</entry>
-           </row>
-           <row>
              <entry><option>-fno-ghci-sandbox</option></entry>
              <entry>Turn off the GHCi sandbox. Means computations are run in teh main thread, rather than a forked thread.</entry>
              <entry>dynamic</entry>