[commit: ghc] master: Fix recompilation avoidance bug for implementor of hsig. (5fb485a)
git at git.haskell.org
git at git.haskell.org
Sun Apr 2 23:49:32 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/5fb485a3e1e83a1f5c6acf989be292940229e1a4/ghc
>---------------------------------------------------------------
commit 5fb485a3e1e83a1f5c6acf989be292940229e1a4
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
>---------------------------------------------------------------
5fb485a3e1e83a1f5c6acf989be292940229e1a4
compiler/deSugar/DsUsage.hs | 19 ++++++++++++-----
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 ++-
.../tests/backpack/cabal/bkpcabal06/.gitignore | 1 +
.../cabal/{bkpcabal05 => bkpcabal06}/Makefile | 9 ++++----
.../cabal/{bkpcabal01 => bkpcabal06}/Setup.hs | 0
testsuite/tests/backpack/cabal/bkpcabal06/all.T | 9 ++++++++
.../backpack/cabal/bkpcabal06/bkpcabal06.cabal | 24 ++++++++++++++++++++++
.../backpack/cabal/bkpcabal06/bkpcabal06.stderr | 4 ++++
.../cabal/bkpcabal06/impl/P.hs.in1} | 2 +-
.../cabal/bkpcabal06/impl/P.hs.in2} | 1 -
.../tests/backpack/cabal/bkpcabal06/sig/P.hsig | 2 ++
17 files changed, 94 insertions(+), 27 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 5fb485a3e1e83a1f5c6acf989be292940229e1a4
More information about the ghc-commits
mailing list