X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fflags.xml;h=7c21a73e33558cc842876cfe6ef9d37c5592533f;hb=febf1ced754a3996ac1a5877dcded87828560d1c;hp=8e185701c38e98adb48d9d26c7c40867ab877f73;hpb=536852b1348fde6ec0ba13859cc5ddf8480a1653;p=ghc-hetmet.git diff --git a/docs/users_guide/flags.xml b/docs/users_guide/flags.xml index 8e18570..71790b0 100644 --- a/docs/users_guide/flags.xml +++ b/docs/users_guide/flags.xml @@ -60,6 +60,18 @@ - + or + display the supported languages and language extensions + mode + - + + + + display information about the compiler + mode + - + + display GHC version mode @@ -242,7 +254,7 @@ dir - set output directory + set directory for object files dynamic - @@ -264,6 +276,12 @@ dynamic - + + dir + set output directory + dynamic + - + @@ -286,20 +304,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 - @@ -413,11 +434,7 @@ file - Read the interface in - file and dump it as text to - stdout. - mode - - + See . @@ -453,7 +470,7 @@ - + Interactive-mode options @@ -482,23 +499,43 @@ - - - Generate bytecode enabled for debugging + + Break on any exception thrown dynamic - - + - - Do not include debugging information in bytecodes + + 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 results in GHCi + + + + Turn off printing of binding contents in GHCi + dynamic + - + + + + Turn off + implicit qualified import of everything in GHCi dynamic - + @@ -523,7 +560,7 @@ P Compile to be part of package P - dynamic + static - @@ -562,6 +599,12 @@ static - + + + Don't automatically link in the haskell98 package. + dynamic + - + @@ -570,7 +613,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 @@ -584,62 +629,69 @@ - + + Enable most language extensions + dynamic + + + + Enable overlapping instances dynamic - + - + Enable incoherent instances. - Implies + 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 + + Enable generic classes dynamic - + - + Enable Implicit Parameters. Implied by . dynamic - + @@ -648,55 +700,330 @@ - + 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. No longer implied by . dynamic - + - + + Enable quasiquotation. + dynamic + + + + 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 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 multi parameter type classes. + dynamic + + + + + Enable functional dependencies. + dynamic + + + + + Enable package-qualified imports. + dynamic + @@ -741,14 +1068,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 + @@ -767,6 +1114,14 @@ + + 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 @@ -781,6 +1136,13 @@ + + warn when a pattern match in a lambda expression or pattern binding could fail + dynamic + + + + warn when a record update could fail dynamic @@ -788,6 +1150,13 @@ + + warn when a pattern binding looks lazy but must be strict + dynamic + + + + warn when fields of a record are uninitialised dynamic @@ -795,6 +1164,14 @@ + + warn when an import declaration does not explicitly + list all the names brought into scope + dynamic + + + + warn when class methods are undefined dynamic @@ -809,6 +1186,13 @@ + + warn about polymorphic local bindings without signatures + dynamic + + + + warn when names are shadowed dynamic @@ -817,8 +1201,8 @@ - warn when the module contains "orphan" instance declarations - or rewrite rules + warn when the module contains orphan instance declarations + or rewrite rules dynamic @@ -831,13 +1215,6 @@ - - warn about lambda-patterns that can fail - dynamic - - - - warn if there are tabs in the source file dynamic @@ -879,6 +1256,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 + + + @@ -948,6 +1339,13 @@ + + Share specialisations of overloaded functions (default) + dynamic + + + + Enable eta-reduction. Implied by . dynamic @@ -998,6 +1396,14 @@ + + Set the number of phases for the simplifier (default 2). + Ignored with . + dynamic + - + + + Set the max iterations for the simplifier dynamic @@ -1020,6 +1426,13 @@ + + Turn on specialisation of overloaded functions. Implied by . + dynamic + -fno-specialise + + + Turn on full laziness (floating bindings outwards). Implied by . dynamic @@ -1027,12 +1440,19 @@ - + + 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 - + @@ -1042,6 +1462,14 @@ -fno-strictness + + =n + Run an additional strictness analysis before simplifier +phase n + dynamic + - + + Turn on the SpecConstr transformation. Implied by . @@ -1050,6 +1478,22 @@ + =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 on the liberate-case transformation. Implied by . dynamic @@ -1057,11 +1501,17 @@ - =n - Set the size threshold for function specialisation to n, for both - the liberate-case and SpecConstr transformations (default: 200) + + 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 - + @@ -1093,13 +1543,6 @@ - - Tweak unfolding settings - static - - - - Tweak unfolding settings static @@ -1112,6 +1555,20 @@ static - + + + + Turn off the coercion optimiser + static + - + + + + + Turn on eager blackholing + dynamic + - + @@ -1136,21 +1593,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 @@ -1161,7 +1618,7 @@ - Turn on ticky-ticky profiling + Turn on ticky-ticky profiling static - @@ -1171,6 +1628,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 @@ -1247,33 +1737,6 @@ - C compiler options - - - - - - - Flag - Description - Static/Dynamic - Reverse - - - - - file - Include file when - compiling the .hc file - dynamic - - - - - - - - - Code generation options @@ -1293,11 +1756,11 @@ Use the native code generator dynamic - -fvia-C + -fllvm - - Compile via C + + Compile via LLVM dynamic -fasm @@ -1341,6 +1804,12 @@ + + Generate a shared library (as opposed to an executable) + dynamic + - + + Generate position-independent code (where available) static @@ -1353,6 +1822,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. @@ -1399,6 +1875,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 @@ -1428,6 +1919,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 + - + @@ -1467,13 +1991,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 @@ -1505,12 +2035,21 @@ dynamic - + + cmd + Use cmd as the program for + embedding manifests on Windows. + dynamic + - + + + @@ -1561,6 +2100,18 @@ - + option + pass option to the LLVM optimiser + dynamic + - + + + option + pass option to the LLVM compiler + dynamic + - + + option pass option to the mangler dynamic @@ -1585,8 +2136,8 @@ - - option - pass option to the dependency generator + option + pass option to windres. dynamic - @@ -1610,6 +2161,14 @@ Reverse + + + + (x86 only) Use SSE2 for floating point + dynamic + - + + @@ -1642,7 +2201,7 @@ Generate .hcr external Core files - static + dynamic - @@ -1674,6 +2233,12 @@ - + + Dump to files instead of stdout + dynamic + - + + Dump assembly dynamic @@ -1692,6 +2257,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 @@ -1728,12 +2300,24 @@ - + + Dump after instrumentation for program coverage + dynamic + - + + Dump inlining info dynamic - + + Dump LLVM intermediate code + dynamic + - + + Dump occurrence analysis output dynamic @@ -1764,11 +2348,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 @@ -1776,6 +2378,12 @@ - + + Dump output from each simplifier phase + dynamic + - + + Dump output from each simplifier iteration dynamic @@ -1789,7 +2397,7 @@ - Dump TH splided expressions, and what they evaluate to + Dump TH spliced expressions, and what they evaluate to dynamic - @@ -1829,12 +2437,18 @@ dynamic - - - - Trace typechecker - dynamic - - - + + + Trace typechecker + dynamic + - + + + + Trace vectoriser + dynamic + - + Trace renamer @@ -1854,6 +2468,12 @@ - + + Suppress unsolicited debugging output + static + - + + Turn on debug printing (more verbose) static @@ -1872,6 +2492,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 @@ -1919,12 +2593,6 @@ dynamic - - - - Enable unregisterised compilation - static - - - @@ -1957,12 +2625,6 @@ - - - Don't share specialisations of overloaded functions - static - - - - Set simplification history size static @@ -1975,8 +2637,8 @@ - - - Turn off assembly mangling (use instead) + + Turn off the GHCi sandbox. Means computations are run in teh main thread, rather than a forked thread. dynamic - @@ -1998,7 +2660,6 @@ Misc: