X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fflags.xml;h=b84cc227bf61741bbf742582c786122a89a8d76d;hb=6cec61d14a324285dbb8ce73d4c7215f1f8d6766;hp=6b348fec7fd4b421052f9b2e40cc0b5cbe2e1b67;hpb=6da4233da131954bbc1d9922104d7bd01edc5c56;p=ghc-hetmet.git diff --git a/docs/users_guide/flags.xml b/docs/users_guide/flags.xml index 6b348fe..e0940ae 100644 --- a/docs/users_guide/flags.xml +++ b/docs/users_guide/flags.xml @@ -36,6 +36,12 @@ - + + do a dry run + dynamic + - + + verbose mode (equivalent to ) dynamic @@ -54,6 +60,18 @@ - + or + display the supported languages and language extensions + mode + - + + + + display information about the compiler + mode + - + + display GHC version mode @@ -78,6 +96,12 @@ - + size + Set the minimum heap size to size + static + - + + Summarise timing stats for GHC (same as +RTS -tstderr) static @@ -157,25 +181,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 +254,7 @@ dir - set output directory + set directory for object files dynamic - @@ -248,6 +276,12 @@ dynamic - + + dir + set output directory + dynamic + - + @@ -270,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 - @@ -346,13 +383,13 @@ dir1:dir2:... add dir, dir2, etc. to import path - dynamic + static/:set - Empty the import directory list - dynamic + static/:set - @@ -397,11 +434,7 @@ file - Read the interface in - file and dump it as text to - stdout. - mode - - + See . @@ -426,18 +459,18 @@ - + Turn off recompilation checking; implied by any option dynamic - + - + Interactive-mode options @@ -465,6 +498,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 +558,15 @@ + P + Compile to be part of package P + static + - + + P Expose package P - dynamic + static/:set - @@ -501,24 +578,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 +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 @@ -544,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 - + @@ -608,48 +700,324 @@ - + 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 bang patterns. + + 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 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 + @@ -686,7 +1054,7 @@ - enable all warnings + enable almost all warnings (details in ) dynamic @@ -694,14 +1062,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 +1107,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 +1130,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 +1144,10 @@ - - enable miscellaneous warnings + + warn when a pattern binding looks lazy but must be strict dynamic - + @@ -748,6 +1158,14 @@ + + warn when an import declaration does not explicitly + list all the names brought into scope + dynamic + + + + warn when class methods are undefined dynamic @@ -769,9 +1187,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 +1202,10 @@ - - warn about lambda-patterns that can fail + + warn if there are tabs in the source file dynamic - + @@ -798,6 +1216,13 @@ + + warn when the Monomorphism Restriction is applied + dynamic + + + + warn about bindings that are unused dynamic @@ -818,6 +1243,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 + + + @@ -874,7 +1313,7 @@ - Enable case-merging + Enable case-merging. Implied by . dynamic @@ -887,8 +1326,15 @@ + + Share specialisations of overloaded functions (default) + dynamic + + + + - Enable eta-reduction + Enable eta-reduction. Implied by . dynamic @@ -908,14 +1354,6 @@ - - Switch off all rewrite rules (including rules - generated by automatic specialisation of overloaded functions) - static - - - - Ignore assertions in the source dynamic @@ -930,13 +1368,6 @@ - - Tweak the liberate-case optimisation (default: 10) - static - - - - Don't generate interface pragmas dynamic @@ -952,8 +1383,16 @@ - - Set the max iterations for the simplifier + + Set the number of phases for the simplifier (default 2). + Ignored with . + dynamic + - + + + + + Set the max iterations for the simplifier dynamic - @@ -967,31 +1406,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 + @@ -1023,17 +1530,31 @@ - + Tweak unfolding settings static - + - - Tweak unfolding settings + + Turn off pre-inlining static - + - + + + + + Turn off the coercion optimiser + static + - + + + + + Turn on eager blackholing + dynamic + - @@ -1059,27 +1580,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 +1605,7 @@ - Turn on ticky-ticky profiling + Turn on ticky-ticky profiling static - @@ -1100,9 +1615,9 @@ - C pre-processor options - - + Program coverage options + + @@ -1116,27 +1631,44 @@ - - Run the C pre-processor on Haskell source files - dynamic - - + + Turn on Haskell program coverage instrumentation + static + - symbol=value - Define a symbol in the C pre-processor + + Directory to deposit .mix files during compilation (default is .hpc) dynamic - symbol + + + + + + + + Haskell pre-processor options + + + + + + - symbol - Undefine a symbol in the C pre-processor - dynamic - - + Flag + Description + Static/Dynamic + Reverse + + - dir - Add dir to the - directory search list for #include files + + + Enable the use of a pre-processor + (set with ) + dynamic - @@ -1146,9 +1678,10 @@ - C compiler options + C pre-processor options + + - @@ -1161,9 +1694,27 @@ - file - Include file when - compiling the .hc file + + Run the C pre-processor on Haskell source files + dynamic + - + + + symbol=value + Define a symbol in the C pre-processor + dynamic + symbol + + + symbol + Undefine a symbol in the C pre-processor + dynamic + - + + + dir + Add dir to the + directory search list for #include files dynamic - @@ -1192,18 +1743,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 - @@ -1228,12 +1791,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. @@ -1263,7 +1845,7 @@ - Set main function + Set main module and function dynamic - @@ -1280,6 +1862,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 @@ -1309,6 +1906,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 + - + @@ -1348,6 +1978,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 @@ -1368,28 +2016,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 + - + + + - @@ -1437,6 +2087,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 @@ -1455,8 +2123,8 @@ - - option - pass option to the dependency generator + option + pass option to windres. dynamic - @@ -1480,15 +2148,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 - @@ -1518,7 +2188,7 @@ Generate .hcr external Core files - static + dynamic - @@ -1550,12 +2220,6 @@ - - - Dump abstract C - dynamic - - - - Dump assembly dynamic @@ -1568,6 +2232,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 @@ -1604,26 +2281,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 - @@ -1634,17 +2329,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 @@ -1652,6 +2359,12 @@ - + + Dump output from each simplifier phase + dynamic + - + + Dump output from each simplifier iteration dynamic @@ -1664,6 +2377,12 @@ - + + Dump TH spliced expressions, and what they evaluate to + dynamic + - + + Dump final STG dynamic @@ -1688,17 +2407,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 @@ -1712,15 +2443,15 @@ - - - Native code generator intermediate form + + Dump simplifier stats dynamic - - - Dump simplifier stats - dynamic + + Suppress unsolicited debugging output + static - @@ -1730,6 +2461,24 @@ - + + Suppress the printing of uniques in debug output (easier to use diff. + static + - + + + + Suppress the printing of coercions in Core dumps to make them shorter. + static + - + + + + Suppress the printing of module qualification prefixes in Core dumps to make them easier to read. + static + - + + Don't output pragma info in dumps static @@ -1748,20 +2497,20 @@ - - - STG pass sanity checking + + C-- pass sanity checking dynamic - - - Dump STG stats + + STG pass sanity checking dynamic - - - UsageSP sanity checker + + Dump STG stats dynamic - @@ -1778,9 +2527,15 @@ - - - Enable unregisterised compilation - static + + Print out each pass name as it happens + dynamic + - + + + + Show statistics for fast string usage when finished + dynamic - @@ -1803,12 +2558,6 @@ - - ??? - static - - - - Don't complain about .hi file mismatches static @@ -1821,12 +2570,6 @@ - - - Don't share specialisations of overloaded functions - static - - - - Set simplification history size static @@ -1839,8 +2582,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 - @@ -1862,7 +2605,6 @@ Misc: