X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fusing.xml;h=ce7ef7680b2f174ce1cd8f478a42289a1b9481b6;hb=aedb94f5f220b5e442b23ecc445fd38c8d9b6ba0;hp=d805097eca1ba54164e9894a104ab481e12569da;hpb=8051f46061c7cd03f0fc327f047eb2526d00c924;p=ghc-hetmet.git
diff --git a/docs/users_guide/using.xml b/docs/users_guide/using.xml
index d805097..ce7ef76 100644
--- a/docs/users_guide/using.xml
+++ b/docs/users_guide/using.xml
@@ -841,11 +841,13 @@ ghc -c Foo.hs
of warnings which are generally likely to indicate bugs in your
program. These are:
,
- ,
+ ,
,
,
- , and
- . The following flags are
+ ,
+ , and
+ . The following
+ flags are
simple ways to select standard “packages” of warnings:
@@ -917,15 +919,16 @@ ghc -c Foo.hs
- :
+ :
-
+
+ warningsdeprecations
- Causes a warning to be emitted when a deprecated
- function or type is used. Entities can be marked as
- deprecated using a pragma, see .
+ Causes a warning to be emitted when a
+ module, function or type with a WARNING or DEPRECATED pragma
+ is used. See for more
+ details on the pragmas.This option is on by default.
@@ -945,6 +948,30 @@ ghc -c Foo.hs
+ :
+
+
+
+ Causes a warning to be emitted for foreign imports of
+ the following form:
+
+foreign import "f" f :: FunPtr t
+
+ on the grounds that it probably should be
+
+foreign import "&f" f :: FunPtr t
+
+ The first form declares that `f` is a (pure) C
+ function that takes no arguments and returns a pointer to a
+ C function with type `t`, whereas the second form declares
+ that `f` itself is a C function with type `t`. The first
+ declaration is usually a mistake, and one that is hard to
+ debug because it results in a crash, hence this
+ warning.
+
+
+
+ :
@@ -1152,7 +1179,8 @@ f foo = foo { x = 6 }
The trouble with orphans is that GHC must pro-actively read the interface
files for all orphan modules, just in case their instances or rules
play a role, whether or not the module's interface would otherwise
- be of any use. Other things being equal, avoid orphan modules.
+ be of any use. See for details.
+
@@ -1878,7 +1906,7 @@ statements or clauses.
GHC can dump its optimized intermediate code (said to be in “Core” format)
to a file as a side-effect of compilation. Non-GHC back-end tools can read and process Core files; these files have the suffix
- .hcr. The Core format is described in
+ .hcr. The Core format is described in An External Representation for the GHC Core Language,
and sample tools
for manipulating Core files (in Haskell) are in the GHC source distribution