[commit: ghc] ghc-8.0: Remove fancy shadowing logic; always override in package database order. (b5b9cf3)

git at git.haskell.org git at git.haskell.org
Fri Nov 18 01:47:22 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : ghc-8.0
Link       : http://ghc.haskell.org/trac/ghc/changeset/b5b9cf3a424ed32e0495aedd2376a0ffdf4a967d/ghc

>---------------------------------------------------------------

commit b5b9cf3a424ed32e0495aedd2376a0ffdf4a967d
Author: Edward Z. Yang <ezyang at cs.stanford.edu>
Date:   Thu Nov 17 17:08:21 2016 -0500

    Remove fancy shadowing logic; always override in package database order.
    
    This is a stopgap fix for GHC 8.0 bug #12485: in particular,
    it relaxes need for -package-db flags to be given in
    dependency order.  The trade-off is that we are a lot more
    unsafe when there are packages with duplicate 'id's in
    the database stack: the new code will not do an ABI compatibility
    check: if two packages have the same 'id', they are assumed to
    be ABI compatible.  If this is not true, GHC may build
    segfaulting executables.
    
    Missing test updates, but I'm putting it up so people can
    take a look.
    
    In GHC 8.2, we'll record ABIs for all dependencies, allowing
    GHC to make better decisions about shadowing.
    
    Signed-off-by: Edward Z. Yang <ezyang at cs.stanford.edu>
    
    Test Plan: validate
    
    Reviewers: austin, niteria, bgamari, simonmar
    
    Reviewed By: simonmar
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D2613
    
    GHC Trac Issues: #12485


>---------------------------------------------------------------

b5b9cf3a424ed32e0495aedd2376a0ffdf4a967d
 compiler/main/Packages.hs           | 121 +++++++++++++++---------------------
 docs/users_guide/packages.rst       |   8 +--
 testsuite/tests/cabal/Makefile      |  22 +++----
 testsuite/tests/cabal/cabal08/all.T |   4 +-
 testsuite/tests/cabal/shadow.stderr |   4 --
 testsuite/tests/cabal/shadow.stdout |   4 +-
 6 files changed, 67 insertions(+), 96 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 b5b9cf3a424ed32e0495aedd2376a0ffdf4a967d


More information about the ghc-commits mailing list