X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fflags.xml;h=8d79233bc42739ab7f63eae180bed86f203ba350;hb=7930635d8540b7d8134c42daf2783afca0adfbd0;hp=eeb4f5dd4792ac3f53b6dad5d371de5dc6993c2e;hpb=f94f26a7cb7bb7005b88f50c4383a761fc18718d;p=ghc-hetmet.git diff --git a/docs/users_guide/flags.xml b/docs/users_guide/flags.xml index eeb4f5d..8d79233 100644 --- a/docs/users_guide/flags.xml +++ b/docs/users_guide/flags.xml @@ -35,13 +35,7 @@ mode - - - - do a dry run - dynamic - - - - + verbose mode (equivalent to ) dynamic @@ -60,6 +54,18 @@ - + or + display the supported languages and language extensions + mode + - + + + + display information about the compiler + mode + - + + display GHC version mode @@ -102,7 +108,7 @@ Which phases to run - + @@ -153,7 +159,7 @@ Alternative modes of operation - + @@ -169,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 - @@ -198,7 +208,7 @@ Redirecting output - + @@ -238,7 +248,7 @@ dir - set output directory + set directory for object files dynamic - @@ -260,6 +270,12 @@ dynamic - + + dir + set output directory + dynamic + - + @@ -267,9 +283,9 @@ Keeping intermediate files - + - + @@ -282,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 - @@ -312,7 +331,7 @@ Temporary files - + @@ -358,13 +377,13 @@ dir1:dir2:... add dir, dir2, etc. to import path - dynamic + static/:set - Empty the import directory list - dynamic + static/:set - @@ -409,17 +428,13 @@ file - Read the interface in - file and dump it as text to - stdout. - mode - - + See . - + Recompilation checking @@ -449,9 +464,9 @@ - + Interactive-mode options - + @@ -478,17 +493,43 @@ - - - Generate bytecode enabled for debugging + + 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 - - - Do not include debugging information in bytecodes + + Turn off + implicit qualified import of everything in GHCi dynamic - + @@ -513,13 +554,13 @@ P Compile to be part of package P - dynamic + static - P Expose package P - dynamic + static/:set - @@ -531,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 - @@ -560,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 @@ -574,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 - + @@ -638,55 +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 + @@ -695,7 +1040,7 @@ Warnings - + @@ -723,7 +1068,7 @@ - enable all warnings + enable almost all warnings (details in ) dynamic @@ -731,14 +1076,34 @@ make warnings fatal dynamic - + -Wwarn + + + + make warnings non-fatal + dynamic + -Werror - - warn about uses of functions & types that are deprecated + + warn about uses of pragmas that GHC doesn't recognise dynamic - + + + + + + warn about uses of functions & types that have warnings or deprecated pragmas + dynamic + + + + + + warn about uses of commandline flags that are deprecated + dynamic + @@ -756,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 @@ -764,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 @@ -771,6 +1158,13 @@ + + warn when a pattern binding looks lazy but must be strict + dynamic + + + + warn when fields of a record are uninitialised dynamic @@ -778,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 @@ -792,6 +1194,13 @@ + + warn about polymorphic local bindings without signatures + dynamic + + + + warn when names are shadowed dynamic @@ -800,8 +1209,8 @@ - warn when the module contains "orphan" instance declarations - or rewrite rules + warn when the module contains orphan instance declarations + or rewrite rules dynamic @@ -814,13 +1223,6 @@ - - warn about lambda-patterns that can fail - dynamic - - - - warn if there are tabs in the source file dynamic @@ -835,6 +1237,13 @@ + + warn when the Monomorphism Restriction is applied + dynamic + + + + warn about bindings that are unused dynamic @@ -855,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 + + + @@ -891,7 +1314,7 @@ - + Individual optimisations @@ -911,7 +1334,7 @@ - Enable case-merging + Enable case-merging. Implied by . dynamic @@ -924,8 +1347,15 @@ + + Share specialisations of overloaded functions (default) + dynamic + + + + - Enable eta-reduction + Enable eta-reduction. Implied by . dynamic @@ -945,14 +1375,6 @@ - - Switch off all rewrite rules (including rules - generated by automatic specialisation of overloaded functions) - static - - - - Ignore assertions in the source dynamic @@ -963,72 +1385,141 @@ Ignore pragmas in interface files dynamic - + + + + + + Don't generate interface pragmas + dynamic + + + + + + If a worker has that many arguments, none will be + unpacked anymore (default: 10) + static + - + + + + + Set the number of phases for the simplifier (default 2). + Ignored with . + dynamic + - + + + + + Set the max iterations for the simplifier + dynamic + - + + + + + Turn off the "state hack" whereby any lambda with a real-world state token + as argument is considered to be single-entry. Hence OK to inline things inside it. + static + - + + + + + Turn on common sub-expression elimination. Implied by . + dynamic + -fno-cse + + + + + Turn on specialisation of overloaded functions. Implied by . + dynamic + -fno-specialise + + + + + Turn on full laziness (floating bindings outwards). Implied by . + dynamic + -fno-full-laziness - - Tweak the liberate-case optimisation (default: 10) - static - + + Turn on the float-in transformation. Implied by . + dynamic + -fno-float-in - - Don't generate interface pragmas + + Switch on all rewrite rules (including rules + generated by automatic specialisation of overloaded functions). + Implied by . dynamic - + - - If a worker has that many arguments, none will be - unpacked anymore (default: 10) - static - - + + Turn on strictness analysis. Implied by . + dynamic + -fno-strictness + + =n + Run an additional strictness analysis before simplifier +phase n + dynamic + - + + - - Set the max iterations for the simplifier + + Turn on the SpecConstr transformation. Implied by . dynamic - - + -fno-spec-constr - - Turn off the "state hack" whereby any lambda with a real-world state token - as argument is considered to be single-entry. Hence OK to inline things inside it. + =n + Set the size threshold for the SpecConstr transformation to n (default: 200) static - - + - - Turn off common sub-expression - dynamic - - + =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 full laziness (floating bindings outwards). + + Turn on the liberate-case transformation. Implied by . dynamic - -ffull-laziness + -fno-liberate-case - - Turn off pre-inlining - static - - + + Turn on the static argument transformation. Implied by . + dynamic + -fno-static-argument-transformation - - Turn off strictness analysis - dynamic - - + =n + Set the size threshold for the liberate-case transformation to n (default: 200) + static + @@ -1060,17 +1551,31 @@ - + Tweak unfolding settings static - + - - Tweak unfolding settings + + Turn off pre-inlining static - + - + + + + + Turn off the coercion optimiser + static + - + + + + + Turn on eager blackholing + dynamic + - @@ -1079,7 +1584,7 @@ Profiling options - + @@ -1096,21 +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 CAFs - static + dynamic @@ -1121,7 +1626,7 @@ - Turn on ticky-ticky profiling + Turn on ticky-ticky profiling static - @@ -1131,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 @@ -1207,33 +1745,6 @@ - C compiler options - - - - - - - Flag - Description - Static/Dynamic - Reverse - - - - - file - Include file when - compiling the .hc file - dynamic - - - - - - - - - Code generation options @@ -1253,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 - @@ -1289,6 +1812,12 @@ + + Generate a shared library (as opposed to an executable) + dynamic + - + + Generate position-independent code (where available) static @@ -1301,6 +1830,13 @@ - + + 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. @@ -1330,7 +1866,7 @@ - Set main function + Set main module and function dynamic - @@ -1347,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 @@ -1376,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 + - + @@ -1415,13 +1999,19 @@ Use cmd as the C compiler dynamic - + + cmd + Use cmd as the LLVM optimiser + dynamic + - - cmd - Use cmd as the mangler + cmd + Use cmd as the LLVM compiler dynamic - + cmd Use cmd as the splitter @@ -1453,12 +2043,21 @@ dynamic - + + cmd + Use cmd as the program for + embedding manifests on Windows. + dynamic + - + + + @@ -1509,6 +2108,18 @@ - + option + pass option to the LLVM optimiser + dynamic + - + + + option + pass option to the LLVM compiler + dynamic + - + + option pass option to the mangler dynamic @@ -1533,8 +2144,8 @@ - - option - pass option to the dependency generator + option + pass option to windres. dynamic - @@ -1545,7 +2156,7 @@ Platform-specific options - + @@ -1558,6 +2169,14 @@ Reverse + + + + (x86 only) Use SSE2 for floating point + dynamic + - + + @@ -1570,7 +2189,7 @@ - + External core file options @@ -1590,7 +2209,7 @@ Generate .hcr external Core files - static + dynamic - @@ -1622,6 +2241,12 @@ - + + Dump to files instead of stdout + dynamic + - + + Dump assembly dynamic @@ -1640,6 +2265,13 @@ - + + 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 @@ -1676,12 +2308,24 @@ - + + Dump after instrumentation for program coverage + dynamic + - + + Dump inlining info dynamic - + + Dump LLVM intermediate code + dynamic + - + + Dump occurrence analysis output dynamic @@ -1712,11 +2356,29 @@ - - - Dump rules + + Dump rule firing info + dynamic + - + + + + Dump detailed rule firing info dynamic - + + + Dump rules + dynamic + - + + + + Dump vectoriser input and output + dynamic + - + Dump final simplifier output @@ -1724,6 +2386,12 @@ - + + Dump output from each simplifier phase + dynamic + - + + Dump output from each simplifier iteration dynamic @@ -1737,7 +2405,7 @@ - Dump TH splided expressions, and what they evaluate to + Dump TH spliced expressions, and what they evaluate to dynamic - @@ -1777,12 +2445,18 @@ dynamic - - - - Trace typechecker - dynamic - - - + + + Trace typechecker + dynamic + - + + + + Trace vectoriser + dynamic + - + Trace renamer @@ -1802,6 +2476,12 @@ - + + Suppress unsolicited debugging output + static + - + + Turn on debug printing (more verbose) static @@ -1820,6 +2500,60 @@ - + + 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 @@ -1867,17 +2601,11 @@ dynamic - - - - Enable unregisterised compilation - static - - - - + Misc compiler options @@ -1905,12 +2633,6 @@ - - - Don't share specialisations of overloaded functions - static - - - - Set simplification history size static @@ -1923,14 +2645,8 @@ - - - Turn off assembly mangling (use instead) - dynamic - - - - - - Turn off printing of binding results in GHCi + + Turn off the GHCi sandbox. Means computations are run in teh main thread, rather than a forked thread. dynamic - @@ -1952,7 +2668,6 @@ Misc: