[project @ 2002-06-28 14:06:52 by simonpj]
-----------------------------------
Fix the CAF info field of error Ids
-----------------------------------
A bizarre bug. In MkId, we build the Id for various error-y
Ids (like pAT_ERROR_ID) that we grab out of thin air in various
places (like the desugarer). They were marked as not referring
to any CAFs, but this was a lie! In fact, they refer to 'untangle'
(see GHC.Err) and thence to a CAF.
Result: GC crash under very obscure circumstances. (Rob's optimistic
evaluator tickled it.)
Solution: give them more conservative IdInfo.
Two other better solutions to think about:
* Don't grab them out of thin air; instead get them from
an interface file.
* Treat them as always-live (requires mod to garbage collector)
so they don't need to be mentioned in SRTs at all