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

Reply via email to