X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fflags.xml;h=bfc28d82cb2c37e360d41fb04e3819abbe5ef4f1;hb=97ce7b595418d629a57654b5af07133e6418b45e;hp=6a18ca57e5503c2b97d0bef6dc8c51486dfdd35a;hpb=f83e51a5ff9689ddba608b92b325224f2e32ff82;p=ghc-hetmet.git diff --git a/docs/users_guide/flags.xml b/docs/users_guide/flags.xml index 6a18ca5..bfc28d8 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 @@ -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 - @@ -226,7 +248,7 @@ dir - set output directory + set directory for object files dynamic - @@ -248,6 +270,12 @@ dynamic - + + dir + set output directory + dynamic + - + @@ -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 - @@ -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,11 +428,7 @@ file - Read the interface in - file and dump it as text to - stdout. - mode - - + See . @@ -437,7 +464,7 @@ - + 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 + 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. 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 bang patterns. + + 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 + @@ -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 have warnings or deprecated pragmas + dynamic + - - warn about uses of functions & types that are deprecated + + 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,6 +1158,13 @@ + + warn when a pattern binding looks lazy but must be strict + dynamic + + + + warn when fields of a record are uninitialised dynamic @@ -741,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 @@ -755,6 +1194,13 @@ + + warn about polymorphic local bindings without signatures + dynamic + + + + warn when names are shadowed dynamic @@ -763,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 @@ -777,10 +1223,10 @@ - - warn about lambda-patterns that can fail + + warn if there are tabs in the source file dynamic - + @@ -791,6 +1237,13 @@ + + warn when the Monomorphism Restriction is applied + dynamic + + + + warn about bindings that are unused dynamic @@ -811,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 + + + @@ -867,7 +1334,7 @@ - Enable case-merging + Enable case-merging. Implied by . dynamic @@ -880,10 +1347,17 @@ - - Enable eta-reduction + + Share specialisations of overloaded functions (default) dynamic - + + + + + + Enable eta-reduction. Implied by . + dynamic + @@ -901,14 +1375,6 @@ - - Switch off all rewrite rules (including rules - generated by automatic specialisation of overloaded functions) - static - - - - Ignore assertions in the source dynamic @@ -923,13 +1389,6 @@ - - Tweak the liberate-case optimisation (default: 10) - static - - - - Don't generate interface pragmas dynamic @@ -945,6 +1404,14 @@ + + Set the number of phases for the simplifier (default 2). + Ignored with . + dynamic + - + + + Set the max iterations for the simplifier dynamic @@ -960,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 - - + - - Turn off strictness analysis + =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 - - + -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 + @@ -1016,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 + - @@ -1052,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 @@ -1077,7 +1626,7 @@ - Turn on ticky-ticky profiling + Turn on ticky-ticky profiling static - @@ -1087,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 @@ -1163,33 +1745,6 @@ - C compiler options - - - - - - - Flag - Description - Static/Dynamic - Reverse - - - - - file - Include file when - compiling the .hc file - dynamic - - - - - - - - - Code generation options @@ -1209,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 - @@ -1245,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. @@ -1280,7 +1866,7 @@ - Set main function + Set main module and function dynamic - @@ -1297,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 @@ -1326,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 + - + @@ -1365,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 @@ -1385,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 + - + + + - @@ -1454,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 @@ -1472,8 +2144,8 @@ - - option - pass option to the dependency generator + option + pass option to windres. dynamic - @@ -1497,6 +2169,14 @@ Reverse + + + + (x86 only) Use SSE2 for floating point + dynamic + - + + @@ -1529,7 +2209,7 @@ Generate .hcr external Core files - static + dynamic - @@ -1561,6 +2241,12 @@ - + + Dump to files instead of stdout + dynamic + - + + Dump assembly dynamic @@ -1573,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 @@ -1609,35 +2308,77 @@ - + + 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 prepared core + dynamic + - + + Dump renamer output dynamic - - - 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 @@ -1645,6 +2386,12 @@ - + + Dump output from each simplifier phase + dynamic + - + + Dump output from each simplifier iteration dynamic @@ -1657,6 +2404,12 @@ - + + Dump TH spliced expressions, and what they evaluate to + dynamic + - + + Dump final STG dynamic @@ -1687,6 +2440,24 @@ - + + Trace interface files + dynamic + - + + + + Trace typechecker + dynamic + - + + + + Trace vectoriser + dynamic + - + + Trace renamer dynamic @@ -1705,6 +2476,12 @@ - + + Suppress unsolicited debugging output + static + - + + Turn on debug printing (more verbose) static @@ -1723,12 +2500,72 @@ - + + 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 - + + C-- pass sanity checking + dynamic + - + + STG pass sanity checking dynamic @@ -1753,15 +2590,15 @@ - - - Show statistics for fast string usage when finished + + Print out each pass name as it happens dynamic - - - Enable unregisterised compilation - static + + Show statistics for fast string usage when finished + dynamic - @@ -1796,12 +2633,6 @@ - - - Don't share specialisations of overloaded functions - static - - - - Set simplification history size static @@ -1814,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 - @@ -1843,7 +2668,6 @@ Misc: