[commit: ghc] master: Fix #9243 so recompilation avoidance works with -fno-code (2223e19)
git at git.haskell.org
git at git.haskell.org
Sat Jan 3 20:31:39 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/2223e196b2dc5340d70e58be011c279d381b4319/ghc
>---------------------------------------------------------------
commit 2223e196b2dc5340d70e58be011c279d381b4319
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
Summary:
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>
Test Plan: validate and new test cases
Reviewers: austin
Subscribers: carter, thomie
Differential Revision: https://phabricator.haskell.org/D596
GHC Trac Issues: #9243
>---------------------------------------------------------------
2223e196b2dc5340d70e58be011c279d381b4319
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 2223e196b2dc5340d70e58be011c279d381b4319
More information about the ghc-commits
mailing list