X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdocs%2Fusers_guide%2Fgone_wrong.vsgml;h=3d9cc571f3ff29d30e9b4c5bc4e7d13a4a37af64;hb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;hp=2037a977eac8defeeda8b13bc006d8d5ca14dd1f;hpb=abdd55c9c4a2873c2f4b25b4ea54ca921bca4f5e;p=ghc-hetmet.git
diff --git a/ghc/docs/users_guide/gone_wrong.vsgml b/ghc/docs/users_guide/gone_wrong.vsgml
index 2037a97..3d9cc57 100644
--- a/ghc/docs/users_guide/gone_wrong.vsgml
+++ b/ghc/docs/users_guide/gone_wrong.vsgml
@@ -8,11 +8,12 @@
%************************************************************************
If you still have a problem after consulting this section, then you
-may have found a bug---please report it! See
-Section [ for a list of things we'd like to know about
-your bug. If in doubt, send a report---we love mail from irate users :-!
+may have found a bug---please report it! See Section ][ for a
+list of things we'd like to know about your bug. If in doubt, send a
+report---we love mail from irate users :-!
-(Section ][, which describes Glasgow
Haskell's shortcomings vs.~the Haskell language definition, may also
be of interest.)
@@ -42,6 +43,10 @@ can vary by platform (e.g., on a 64-bit machine).
Just say @make all EXTRA_HC_OPTS=-H@ and see
how you get along.
+Note that this is less likely to happen if you are compiling with GHC
+4.00 or later, since the introduction of the dynamically expanding
+heap.
+
%-------------------------------------------------------------------
``The compiler died with a pattern-matching error.''
This is a bug just as surely as a ``panic.'' Please report it.
@@ -70,7 +75,7 @@ it.
``What about this warning from the C compiler?''
For example: ``...warning: `Foo' declared `static' but never defined.''
-Unsightly, but not a problem.
+Unsightly, but shouldn't be a problem.
%-------------------------------------------------------------------
Sensitivity to @.hi@ interface files:
@@ -91,15 +96,14 @@ Unlikely :-) A useful be-more-paranoid option to give to GHC is
@-dcore-lint@-dcore-lint option; this causes a ``lint''
pass to check for errors (notably type errors) after each Core-to-Core
transformation pass. We run with @-dcore-lint@ on all the time; it
-costs about 5\% in compile time. (Or maybe 25\%; who knows?)
+costs about 5\% in compile time.
%-------------------------------------------------------------------
``Why did I get a link error?''
If the linker complains about not finding @__fast@, then
-your interface files haven't settled---keep on compiling! (In
-particular, this error means that arity information, which you can see
-in any @.hi@ file, has changed.)
+something is inconsistent: you probably didn't compile modules in the
+proper dependency order.
%-------------------------------------------------------------------
``What's a `consistency error'?''
@@ -142,11 +146,13 @@ stingier" id="sooner-faster-quicker">).
%-----------------------------------------------------------------------
``Help! My program crashed!''
(e.g., a `segmentation fault' or `core dumped')
+segmentation fault
-If your program has no @_ccall_@s/@_casm_@s in it, then a crash is always
-a BUG in the GHC system, except in one case: If your program is made
-of several modules, each module must have been compiled with a stable
-group of interface (@.hi@) files.
+If your program has no @_ccall_@s/@_casm_@s in it, then a crash is
+always a BUG in the GHC system, except in one case: If your program is
+made of several modules, each module must have been compiled after any
+modules on which it depends (unless you use @.hi-boot@ files, in which
+case these .
-% (If you have an ``unregisterised'' arity-checking
-% (@-O0 -darity-checks@) around [as we sometimes do at Glasgow], then you
-% might recompile with @-darity-checks@-darity-checks option,
-% which will definitely detect arity-compatibility errors.)
-
%-------------------------------------------------------------------
``My program entered an `absent' argument.''
This is definitely caused by a bug in GHC. Please report it.
]