[commit: ghc] ghc-7.10: Fix #9243 so recompilation avoidance works with -fno-code (c2c6f64)
git at git.haskell.org
git at git.haskell.org
Fri Jan 9 18:36:07 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : ghc-7.10
Link : http://ghc.haskell.org/trac/ghc/changeset/c2c6f64bc46cac42d24806e5663c8a93920568d8/ghc
>---------------------------------------------------------------
commit c2c6f64bc46cac42d24806e5663c8a93920568d8
Author: Edward Z. Yang <ezyang at cs.stanford.edu>
Date: Sat Dec 27 10:50:01 2014 -0800
Fix #9243 so recompilation avoidance works with -fno-code
Where we track timestamps of object files, also track timestamps
for interface files. When -fno-code -fwrite-interface is enabled, use
the interface file timestamp as an extra check to see if the files are
up-to-date. We had to apply this logic to one-shot and make modes.
This fix would be good to merge into 7.10; it makes using -fno-code
-fwrite-interface for flywheel type checking usable.
Signed-off-by: Edward Z. Yang <ezyang at cs.stanford.edu>
Addresses #9243
(cherry picked from commit 2223e196b2dc5340d70e58be011c279d381b4319)
>---------------------------------------------------------------
c2c6f64bc46cac42d24806e5663c8a93920568d8
compiler/main/DriverPipeline.hs | 19 +++++++---
compiler/main/GhcMake.hs | 40 ++++++++++++++++++++--
compiler/main/HscTypes.hs | 4 +++
testsuite/.gitignore | 4 +++
testsuite/tests/driver/recomp001/Makefile | 1 -
testsuite/tests/driver/{recomp001 => retc001}/A.hs | 0
.../tests/driver/{recomp001 => retc001}/B1.hs | 0
.../tests/driver/{recomp001 => retc001}/B2.hs | 0
testsuite/tests/driver/{recomp001 => retc001}/C.hs | 0
testsuite/tests/driver/retc001/Makefile | 24 +++++++++++++
testsuite/tests/driver/retc001/all.T | 5 +++
.../recomp001.stderr => retc001/retc001.stderr} | 0
testsuite/tests/driver/retc001/retc001.stdout | 7 ++++
.../tests/driver/{recomp002 => retc002}/Makefile | 6 ++--
testsuite/tests/driver/{recomp002 => retc002}/Q.hs | 2 --
testsuite/tests/driver/{recomp002 => retc002}/W.hs | 2 --
.../tests/driver/{recomp002 => retc002}/W.hs-boot | 2 --
.../tests/driver/{recomp001 => retc002}/all.T | 4 +--
.../recomp002.stderr => retc002/retc002.stderr} | 0
testsuite/tests/driver/retc002/retc002.stdout | 3 ++
testsuite/tests/driver/{recomp003 => retc003}/A.hs | 1 -
.../tests/driver/{recomp003 => retc003}/Makefile | 12 ++++---
.../tests/driver/{recomp003 => retc003}/all.T | 4 +--
testsuite/tests/driver/retc003/retc003.stdout | 3 ++
24 files changed, 117 insertions(+), 26 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc c2c6f64bc46cac42d24806e5663c8a93920568d8
More information about the ghc-commits
mailing list