[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