Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master
http://hackage.haskell.org/trac/ghc/changeset/48bc81ad466edfc80237015dbe5d78ba70eb5095 >--------------------------------------------------------------- commit 48bc81ad466edfc80237015dbe5d78ba70eb5095 Author: Simon Marlow <[email protected]> Date: Wed Jul 20 09:37:54 2011 +0100 Fix #481: use a safe recompilation check when Template Haskell is being used. We now track whether a module used any TH splices in the ModIface (and at compile time in the TcGblEnv and ModGuts). If a module used TH splices last time it was compiled, then we ignore the results of the normal recompilation check and recompile anyway, *unless* the module is "stable" - that is, none of its dependencies (direct or indirect) have changed. The stability test is pretty important - otherwise ghc --make would always recompile TH modules even if nothing at all had changed, but it does require some extra plumbing to get this information from GhcMake into HscMain. test in driver/recomp009 compiler/deSugar/Desugar.lhs | 8 ++- compiler/iface/BinIface.hs | 14 ++++-- compiler/iface/LoadIface.lhs | 1 + compiler/iface/MkIface.lhs | 66 +++++++++++++++------------ compiler/main/DriverPipeline.hs | 24 ++++++---- compiler/main/GHC.hs | 5 ++ compiler/main/GhcMake.hs | 23 +++++---- compiler/main/HscMain.lhs | 92 +++++++++++++++++++++++++------------ compiler/main/HscTypes.lhs | 33 ++++++++++++- compiler/typecheck/TcRnDriver.lhs | 5 +- compiler/typecheck/TcRnMonad.lhs | 9 +++- compiler/typecheck/TcRnTypes.lhs | 5 ++ compiler/typecheck/TcSplice.lhs | 2 + 13 files changed, 195 insertions(+), 92 deletions(-) Diff suppressed because of size. To see it, use: git show 48bc81ad466edfc80237015dbe5d78ba70eb5095 _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
