simonpj 2003/10/29 10:14:31 PST
Modified files:
ghc/compiler/deSugar Desugar.lhs
ghc/compiler/simplCore SimplCore.lhs
ghc/compiler/specialise Rules.lhs
ghc/compiler/typecheck TcDeriv.lhs TcInstDcls.lhs
TcRnMonad.lhs TcRnTypes.lhs
Log:
Fix a bad consequence of the new story for the generic toT/fromT functions
derived from data types declarations. The problem was that they were being
generated and then discarded by the simplifier, because there was nothing
keeping them alive.
This commit
* Adds a field tcg_keep to the TcGblEnv, which records things
to be kept alive;
* Makes the desugarer pin the keep-alive flag on each binding
(it's actually a call to setIdLocalExported)
* Removes that job from updateBinders in SimplCore
It's somewhat tiresome, but not really difficult.
Revision Changes Path
1.65 +81 -24 fptools/ghc/compiler/deSugar/Desugar.lhs
1.118 +13 -56 fptools/ghc/compiler/simplCore/SimplCore.lhs
1.37 +3 -2 fptools/ghc/compiler/specialise/Rules.lhs
1.119 +32 -35 fptools/ghc/compiler/typecheck/TcDeriv.lhs
1.164 +4 -5 fptools/ghc/compiler/typecheck/TcInstDcls.lhs
1.26 +2 -1 fptools/ghc/compiler/typecheck/TcRnMonad.lhs
1.31 +7 -0 fptools/ghc/compiler/typecheck/TcRnTypes.lhs
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc