X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fflags.xml;h=3e70be999b8efa6280f291188e6def3599766d04;hb=98fe4dcf037472ec18db71f5ad9dab2110aa4cd9;hp=b5c737a49febec0ae4c2bdbf277741433a9753bb;hpb=57610c7b3369dfc0fcf1ee311a1ed10cfe13f7d4;p=ghc-hetmet.git diff --git a/docs/users_guide/flags.xml b/docs/users_guide/flags.xml index b5c737a..3e70be9 100644 --- a/docs/users_guide/flags.xml +++ b/docs/users_guide/flags.xml @@ -35,7 +35,7 @@ mode - - + verbose mode (equivalent to ) dynamic @@ -54,6 +54,18 @@ - + or + display the supported languages and language extensions + mode + - + + + + display information about the compiler + mode + - + + display GHC version mode @@ -78,6 +90,12 @@ - + size + Set the minimum heap size to size + static + - + + Summarise timing stats for GHC (same as +RTS -tstderr) static @@ -90,7 +108,7 @@ Which phases to run - + @@ -141,7 +159,7 @@ Alternative modes of operation - + @@ -157,25 +175,29 @@ - Interactive mode - normally used by just running ghci + Interactive mode - normally used by just running ghci; + see for details. mode - - Build a multi-module Haskell program, automatically figuring out dependencies. Likely to be much easier, and faster, than using make. + Build a multi-module Haskell program, automatically figuring out dependencies. Likely to be much easier, and faster, than using make; + see for details.. mode - - Evaluate expr + Evaluate expr; + see for details. mode - - Generate dependency information suitable for use in a Makefile. + Generate dependency information suitable for use in a Makefile; + see for details. mode - @@ -186,7 +208,7 @@ Redirecting output - + @@ -226,7 +248,7 @@ dir - set output directory + set directory for object files dynamic - @@ -248,6 +270,12 @@ dynamic - + + dir + set output directory + dynamic + - + @@ -255,9 +283,9 @@ Keeping intermediate files - + - + @@ -270,20 +298,23 @@ - + or + retain intermediate .hc files dynamic - - - retain intermediate .s files + or + + retain intermediate LLVM .ll files dynamic - - - retain intermediate .raw_s files + or + + retain intermediate .s files dynamic - @@ -300,7 +331,7 @@ Temporary files - + @@ -346,13 +377,13 @@ dir1:dir2:... add dir, dir2, etc. to import path - dynamic + static/:set - Empty the import directory list - dynamic + static/:set - @@ -397,17 +428,13 @@ file - Read the interface in - file and dump it as text to - stdout. - mode - - + See . - + Recompilation checking @@ -426,20 +453,20 @@ - + Turn off recompilation checking; implied by any option dynamic - + - + Interactive-mode options - + @@ -465,6 +492,44 @@ static - + + + Break on any exception thrown + dynamic + + + + + Break on uncaught exceptions and errors + dynamic + + + + + Enable usage of Show instances in :print + dynamic + + + + + Turn on printing of binding results in GHCi + dynamic + + + + + Turn off printing of binding contents in GHCi + dynamic + - + + + + Turn off + implicit qualified import of everything in GHCi + dynamic + - + + @@ -487,9 +552,15 @@ + P + Compile to be part of package P + static + - + + P Expose package P - dynamic + static/:set - @@ -501,24 +572,30 @@ name Hide package P - dynamic + static/:set - name Ignore package P - dynamic + static/:set - file Load more packages from file - dynamic + static - Don't load the user's package config file. + static + - + + + + Don't automatically link in the haskell98 package. dynamic - @@ -530,7 +607,9 @@ Language options - + Language options can be enabled either by a command-line option + , or by a {-# LANGUAGE blah #-} + pragma in the file itself. See @@ -544,62 +623,71 @@ - + + Enable most language extensions + dynamic + + + + Enable overlapping instances dynamic - + - - Enable incoherent instances. - Implies + + Enable incoherent instances. + Implies dynamic - + - + Enable undecidable instances dynamic - + n - set the limit for context reduction + set the limit for context reduction. Default is 20. dynamic - + - + Enable arrow notation extension dynamic - + - or - Enable foreign function interface (implied by - ) + + Enable record + field disambiguation dynamic - + - - Enable generic classes + + Enable foreign function interface (implied by + ) dynamic - + - - Enable most language extensions + + Deprecated, does nothing. No longer enables generic classes. + See also GHC's support for + generic programming. dynamic - + - + Enable Implicit Parameters. Implied by . dynamic - + @@ -608,48 +696,342 @@ - + Don't implicitly import Prelude dynamic - + + + + + Employ rebindable syntax + dynamic + - + Disable the monomorphism restriction dynamic - + + + + + Disable support for n+k patterns + dynamic + - + Make pattern bindings polymorphic dynamic - + - + + Relaxed checking for mutually-recursive polymorphic functions + dynamic + + + + Use GHCi's extended default rules in a normal module dynamic - + - + + Enable overloaded string literals. + + dynamic + + + + + Enable generalised algebraic data types. + + dynamic + + + + + Enable generalised algebraic data type syntax. + + dynamic + + + + + Enable type families. + dynamic + + + + Enable lexically-scoped type variables. Implied by . dynamic - + + + + + Enable do not generalise local bindings. + + dynamic + - - Enable Template Haskell. + + Enable Template Haskell. No longer implied by . dynamic - + + + + + Enable quasiquotation. + dynamic + - - Enable bang patterns. + + Enable bang patterns. dynamic - + + + + + Enable the C preprocessor. + dynamic + + + + + Enable pattern guards. + dynamic + + + + + Enable view patterns. + dynamic + + + + + Enable unicode syntax. + dynamic + + + + + Allow "#" as a postfix modifier on identifiers. + dynamic + + + + + Enable explicit universal quantification. + Implied by , + , + , + , + , + + + dynamic + + + + + Enable polymorphic components for data constructors. + dynamic + + + + + Enable rank-2 types. + dynamic + + + + + Enable rank-N types. + dynamic + + + + + Enable impredicative types. + dynamic + + + + + Enable existential quantification. + dynamic + + + + + Enable kind signatures. + dynamic + + + + + Enable empty data declarations. + dynamic + + + + + Enable parallel list comprehensions. + dynamic + + + + + Enable generalised list comprehensions. + dynamic + + + + + Enable monad comprehensions. + dynamic + + + + + Enable unlifted FFI types. + dynamic + + + + + Enable liberalised type synonyms. + dynamic + + + + + Enable type operators. + dynamic + + + + + Enable recursive do notation. + dynamic + + + + + Enable recursive do (mdo) notation. This is deprecated; please use recursive do notation instead. + dynamic + + + + + Enable parallel arrays. + dynamic + + + + + Enable record wildcards. + dynamic + + + + + Enable record puns. + dynamic + + + + + Enable record field disambiguation. + dynamic + + + + + Enable unboxed tuples. + dynamic + + + + + Enable standalone deriving. + dynamic + + + + + Enable deriving for the Data and Typeable classes. + dynamic + + + + + Enable deriving for the Generic class. + dynamic + + + + + Enable newtype deriving. + dynamic + + + + + Enable type synonyms in instance heads. + dynamic + + + + + Enable flexible contexts. + dynamic + + + + + Enable flexible instances. + Implies + dynamic + + + + + Enable constrained class methods. + dynamic + + + + + Enable default signatures. + dynamic + + + + + Enable multi parameter type classes. + dynamic + + + + + Enable functional dependencies. + dynamic + + + + + Enable package-qualified imports. + dynamic + @@ -658,7 +1040,7 @@ Warnings - + @@ -686,7 +1068,7 @@ - enable all warnings + enable almost all warnings (details in ) dynamic @@ -694,14 +1076,34 @@ make warnings fatal dynamic - + -Wwarn + + + + make warnings non-fatal + dynamic + -Werror + + + + + warn about uses of pragmas that GHC doesn't recognise + dynamic + - - warn about uses of functions & types that are deprecated + + warn about uses of functions & types that have warnings or deprecated pragmas dynamic - + + + + + + warn about uses of commandline flags that are deprecated + dynamic + @@ -719,6 +1121,21 @@ + + + warn about uses of Prelude numeric conversions that are probably + the identity (and hence could be omitted) + dynamic + + + + + + warn when the Prelude is implicitly imported + dynamic + + + warn when a pattern match could fail @@ -727,6 +1144,13 @@ + + warn when a pattern match in a lambda expression or pattern binding could fail + dynamic + + + + warn when a record update could fail dynamic @@ -734,10 +1158,10 @@ - - enable miscellaneous warnings + + warn when a pattern binding looks lazy but must be strict dynamic - + @@ -748,6 +1172,14 @@ + + warn when an import declaration does not explicitly + list all the names brought into scope + dynamic + + + + warn when class methods are undefined dynamic @@ -762,6 +1194,13 @@ + + warn about polymorphic local bindings without signatures + dynamic + + + + warn when names are shadowed dynamic @@ -769,9 +1208,9 @@ - - warn when the module contains "orphan" instance declarations - or rewrite rules + + warn when the module contains orphan instance declarations + or rewrite rules dynamic @@ -784,10 +1223,10 @@ - - warn about lambda-patterns that can fail + + warn if there are tabs in the source file dynamic - + @@ -798,6 +1237,13 @@ + + warn when the Monomorphism Restriction is applied + dynamic + + + + warn about bindings that are unused dynamic @@ -818,6 +1264,20 @@ + + + warn about do bindings that appear to throw away values of types other than () + dynamic + + + + + + warn about do bindings that appear to throw away monadic values that you should have bound instead + dynamic + + + @@ -854,7 +1314,7 @@ - + Individual optimisations @@ -874,7 +1334,7 @@ - Enable case-merging + Enable case-merging. Implied by . dynamic @@ -887,8 +1347,15 @@ + + Share specialisations of overloaded functions (default) + dynamic + + + + - Enable eta-reduction + Enable eta-reduction. Implied by . dynamic @@ -908,14 +1375,6 @@ - - Switch off all rewrite rules (including rules - generated by automatic specialisation of overloaded functions) - static - - - - Ignore assertions in the source dynamic @@ -930,13 +1389,6 @@ - - Tweak the liberate-case optimisation (default: 10) - static - - - - Don't generate interface pragmas dynamic @@ -952,6 +1404,14 @@ + + Set the number of phases for the simplifier (default 2). + Ignored with . + dynamic + - + + + Set the max iterations for the simplifier dynamic @@ -967,31 +1427,99 @@ - - Turn off common sub-expression + + Turn on common sub-expression elimination. Implied by . dynamic - - + -fno-cse - - Turn off full laziness (floating bindings outwards). + + Turn on specialisation of overloaded functions. Implied by . dynamic - -ffull-laziness + -fno-specialise - - Turn off pre-inlining + + Turn on full laziness (floating bindings outwards). Implied by . + dynamic + -fno-full-laziness + + + + + Turn on the float-in transformation. Implied by . + dynamic + -fno-float-in + + + + + Switch on all rewrite rules (including rules + generated by automatic specialisation of overloaded functions). + Implied by . + dynamic + + + + + + Turn on strictness analysis. Implied by . + dynamic + -fno-strictness + + + + =n + Run an additional strictness analysis before simplifier +phase n + dynamic + - + + + + + Turn on the SpecConstr transformation. Implied by . + dynamic + -fno-spec-constr + + + + =n + Set the size threshold for the SpecConstr transformation to n (default: 200) static - - + + + + + =n + Set to n (default: 3) the maximum number of + specialisations that will be created for any one function + by the SpecConstr transformation + static + - - Turn off strictness analysis + + Turn on the liberate-case transformation. Implied by . dynamic - - + -fno-liberate-case + + + + + Turn on the static argument transformation. Implied by . + dynamic + -fno-static-argument-transformation + + + + =n + Set the size threshold for the liberate-case transformation to n (default: 200) + static + @@ -1019,21 +1547,35 @@ Tweak unfolding settings static - + + + + + + Tweak unfolding settings + static + + + + + + Turn off pre-inlining + static + - - - Tweak unfolding settings + + Turn off the coercion optimiser static - + - - - Tweak unfolding settings - static - + + Turn on eager blackholing + dynamic + - @@ -1042,7 +1584,7 @@ Profiling options - + @@ -1059,27 +1601,21 @@ Auto-add _scc_s to all - exported functions - static + exported functions not marked INLINE + dynamic Auto-add _scc_s to all - top-level functions - static + top-level functions not marked INLINE + dynamic - - Auto-add _scc_s to all dictionaries - static - - - Auto-add _scc_s to all CAFs - static + dynamic @@ -1090,7 +1626,7 @@ - Turn on ticky-ticky profiling + Turn on ticky-ticky profiling static - @@ -1100,6 +1636,39 @@ + Program coverage options + + + + + + + + Flag + Description + Static/Dynamic + Reverse + + + + + + Turn on Haskell program coverage instrumentation + static + + + + + Directory to deposit .mix files during compilation (default is .hpc) + dynamic + + + + + + + + Haskell pre-processor options @@ -1176,33 +1745,6 @@ - C compiler options - - - - - - - Flag - Description - Static/Dynamic - Reverse - - - - - file - Include file when - compiling the .hc file - dynamic - - - - - - - - - Code generation options @@ -1222,18 +1764,30 @@ Use the native code generator dynamic - -fvia-C + -fllvm - - Compile via C + + Compile via LLVM dynamic -fasm Omit code generation - mode + dynamic + - + + + + Generate byte-code + dynamic + - + + + + Generate object code + dynamic - @@ -1258,12 +1812,31 @@ + + Generate a shared library (as opposed to an executable) + dynamic + - + + + + Generate position-independent code (where available) + static + - + + Use dynamic Haskell libraries (if available) static - + + Selects one of a number of modes for finding shared + libraries at runtime. + static + - + + name On Darwin/MacOS X only, link in the framework name. This option corresponds to the option for Apple's Linker. @@ -1293,7 +1866,7 @@ - Set main function + Set main module and function dynamic - @@ -1310,6 +1883,21 @@ - + , + Control whether the RTS behaviour can be tweaked via command-line + flags and the GHCRTS environment + variable. Using none means no RTS flags can be given; some means only a minimum of safe options can be given (the default), and all (or no argument at all) means that all RTS flags are permitted. + dynamic + - + + + + Set the default RTS options to + opts. + dynamic + - + + Omit linking dynamic @@ -1339,6 +1927,39 @@ static - + + + Enable runtime event tracing + static + - + + + + Do not generate a manifest file (Windows only) + dynamic + - + + + + Do not embed the manifest in the executable (Windows only) + dynamic + - + + + + Don't generate an import library for a DLL (Windows only) + dynamic + - + + + path + Set the install name (via -install_name passed to Apple's + linker), specifying the full install path of the library file. Any libraries + or executables that link with it later will pick up that path as their + runtime search location for it. (Darwin/MacOS X only) + dynamic + - + @@ -1378,6 +1999,24 @@ Use cmd as the C compiler dynamic - + + cmd + Use cmd as the LLVM optimiser + dynamic + - + + + cmd + Use cmd as the LLVM compiler + dynamic + - + + + + cmd + Use cmd as the splitter + dynamic + - cmd @@ -1398,28 +2037,30 @@ - - cmd - Use cmd as the dependency generator - dyanmic - - - - cmd Use cmd as the pre-processor (with only) dynamic - + + cmd + Use cmd as the program for + embedding manifests on Windows. + dynamic + - + + + - @@ -1467,6 +2108,24 @@ - + option + pass option to the LLVM optimiser + dynamic + - + + + option + pass option to the LLVM compiler + dynamic + - + + + option + pass option to the mangler + dynamic + - + + option pass option to the assembler dynamic @@ -1485,8 +2144,8 @@ - - option - pass option to the dependency generator + option + pass option to windres. dynamic - @@ -1497,7 +2156,7 @@ Platform-specific options - + @@ -1510,15 +2169,17 @@ Reverse - - - - (SPARC only) enable version 8 support - static + + + + (x86 only) Use SSE2 for floating point + dynamic - - + + + - + (x86 only) give some registers back to the C compiler dynamic - @@ -1528,7 +2189,7 @@ - + External core file options @@ -1548,7 +2209,7 @@ Generate .hcr external Core files - static + dynamic - @@ -1580,8 +2241,8 @@ - - - Dump abstract C + + Dump to files instead of stdout dynamic - @@ -1598,6 +2259,19 @@ - + + Dump C-- output + dynamic + - + + + + Print a one-line summary of the size of the Core program + at the end of the optimisation pipeline + dynamic + - + + Dump output from CPR analysis dynamic @@ -1634,26 +2308,44 @@ - + + Dump after instrumentation for program coverage + dynamic + - + + Dump inlining info dynamic - + + Dump LLVM intermediate code + dynamic + - + + Dump occurrence analysis output dynamic - + + Dump the results of C-- to C-- optimising passes + dynamic + - + + Dump parse tree dynamic - - - Dump “real” C + + Dump prepared core dynamic - @@ -1664,17 +2356,29 @@ - - - Dump rules + + Dump rule firing info dynamic - - - Dump saturated output + + Dump detailed rule firing info dynamic - + + + Dump rules + dynamic + - + + + + Dump vectoriser input and output + dynamic + - + Dump final simplifier output @@ -1682,6 +2386,12 @@ - + + Dump output from each simplifier phase + dynamic + - + + Dump output from each simplifier iteration dynamic @@ -1694,6 +2404,12 @@ - + + Dump TH spliced expressions, and what they evaluate to + dynamic + - + + Dump final STG dynamic @@ -1718,17 +2434,29 @@ - - - Dump UsageSP analysis output + + Dump worker-wrapper output dynamic - - - Dump worker-wrapper output + + Trace interface files dynamic - + + + Trace typechecker + dynamic + - + + + + Trace vectoriser + dynamic + - + Trace renamer @@ -1742,15 +2470,15 @@ - - - Native code generator intermediate form + + Dump simplifier stats dynamic - - - Dump simplifier stats - dynamic + + Suppress unsolicited debugging output + static - @@ -1772,26 +2500,80 @@ - + + Set the width of debugging output. For example + static + - + + + + Print single alternative case expressions as strict lets. + static + - + + + + In core dumps, suppress everything that is suppressable. + static + - + + + + Suppress the printing of uniques in debug output (easier to use diff) + static + - + + + + Suppress extended information about identifiers where they are bound + static + - + + + + Suppress the printing of module qualification prefixes + static + - + + + + Suppress type signatures + static + - + + + + Suppress type applications + static + - + + + + Suppress the printing of coercions in Core dumps to make them shorter + static + - + + Dump haskell source stats dynamic - - - STG pass sanity checking + + C-- pass sanity checking dynamic - - - Dump STG stats + + STG pass sanity checking dynamic - - - UsageSP sanity checker + + Dump STG stats dynamic - @@ -1808,16 +2590,22 @@ - - - Enable unregisterised compilation - static + + Print out each pass name as it happens + dynamic + - + + + + Show statistics for fast string usage when finished + dynamic - - + Misc compiler options @@ -1833,12 +2621,6 @@ - - ??? - static - - - - Don't complain about .hi file mismatches static @@ -1851,12 +2633,6 @@ - - - Don't share specialisations of overloaded functions - static - - - - Set simplification history size static @@ -1869,8 +2645,8 @@ - - - Turn off assembly mangling (use instead) + + Turn off the GHCi sandbox. Means computations are run in the main thread, rather than a forked thread. dynamic - @@ -1892,7 +2668,6 @@ Misc: