[commit: ghc] ghc-8.2: Fix recompilation avoidance bug for implementor of hsig. (21b9729)
git at git.haskell.org
git at git.haskell.org
Mon Apr 3 02:38:36 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : ghc-8.2
Link : http://ghc.haskell.org/trac/ghc/changeset/21b97298f15ae56121a9621c68ef02a7103052cf/ghc
>---------------------------------------------------------------
commit 21b97298f15ae56121a9621c68ef02a7103052cf
Author: Edward Z. Yang <ezyang at cs.stanford.edu>
Date: Sat Mar 25 22:50:55 2017 -0700
Fix recompilation avoidance bug for implementor of hsig.
Summary:
I observed a bug where if I modified the module which implemented
an hsig in another package, GHC would not recompile the signature
in this situation.
The root cause was that we were conflating modules from user
imports, and "system" module dependencies (from signature
merging and instantiation.) So this patch handles them separately.
Signed-off-by: Edward Z. Yang <ezyang at cs.stanford.edu>
Test Plan: validate
Reviewers: simonpj, bgamari, austin
Subscribers: rwbarton, thomie, snowleopard
Differential Revision: https://phabricator.haskell.org/D3381
(cherry picked from commit 5fb485a3e1e83a1f5c6acf989be292940229e1a4)
>---------------------------------------------------------------
21b97298f15ae56121a9621c68ef02a7103052cf
compiler/deSugar/DsUsage.hs | 18 +++++++++++++-----
compiler/iface/MkIface.hs | 10 ++++++++--
compiler/main/HscMain.hs | 3 ++-
compiler/main/HscTypes.hs | 17 +++++++++++++++--
compiler/rename/RnEnv.hs | 2 +-
compiler/rename/RnNames.hs | 9 ++++-----
compiler/typecheck/TcBackpack.hs | 6 +++---
compiler/typecheck/TcRnExports.hs | 3 ++-
testsuite/tests/backpack/cabal/bkpcabal06/.gitignore | 1 +
.../backpack/cabal/{bkpcabal05 => bkpcabal06}/Makefile | 9 ++++-----
.../backpack/cabal/{bkpcabal01 => bkpcabal06}/Setup.hs | 0
testsuite/tests/backpack/cabal/bkpcabal06/all.T | 9 +++++++++
.../bkpcabal07.cabal => bkpcabal06/bkpcabal06.cabal} | 15 ++++++++++-----
.../tests/backpack/cabal/bkpcabal06/bkpcabal06.stderr | 4 ++++
.../P.hs => backpack/cabal/bkpcabal06/impl/P.hs.in1} | 2 +-
.../P.hs => backpack/cabal/bkpcabal06/impl/P.hs.in2} | 1 -
.../cabal/{bkpcabal07 => bkpcabal06/sig}/P.hsig | 1 +
17 files changed, 78 insertions(+), 32 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 21b97298f15ae56121a9621c68ef02a7103052cf
More information about the ghc-commits
mailing list