[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