[commit: ghc] master: Make derived names deterministic (d4d34a7)

git at git.haskell.org git at git.haskell.org
Tue Sep 22 00:30:15 UTC 2015


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/d4d34a73aacc225a8f28d7138137bf548c9e51cc/ghc

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

commit d4d34a73aacc225a8f28d7138137bf548c9e51cc
Author: Bartosz Nitka <niteria at gmail.com>
Date:   Mon Sep 21 19:30:41 2015 -0500

    Make derived names deterministic
    
    The names of auxiliary bindings end up in the interface file, and since uniques
    are nondeterministic, we end up with nondeterministic interface files.
    
    This uses the package and module name in the generated name, so I believe it
    should avoid problems from #7947 and be deterministic as well.
    
    The generated names look like this now:
    
      `$cLrlbmVwI3gpI8G2E6Hg3mO`
    
    and with `-ppr-debug`:
    
      `$c$aeson_70dylHtv1FFGeai1IoxcQr$Data.Aeson.Types.Internal$String`.
    
    Reviewed By: simonmar, austin, ezyang
    
    Differential Revision: https://phabricator.haskell.org/D1133
    
    GHC Trac Issues: #4012


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

d4d34a73aacc225a8f28d7138137bf548c9e51cc
 compiler/backpack/ShPackageKey.hs | 45 +++-------------------------------
 compiler/basicTypes/Module.hs     |  9 +++++++
 compiler/basicTypes/Name.hs       | 17 +++++++++++++
 compiler/typecheck/TcGenDeriv.hs  | 34 ++++++++++++++------------
 compiler/utils/Encoding.hs        | 51 ++++++++++++++++++++++++++++++++++++++-
 5 files changed, 97 insertions(+), 59 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 d4d34a73aacc225a8f28d7138137bf548c9e51cc


More information about the ghc-commits mailing list