diff options
author | Bartosz Nitka <niteria@gmail.com> | 2016-06-07 05:55:50 -0700 |
---|---|---|
committer | Bartosz Nitka <niteria@gmail.com> | 2016-06-07 05:56:04 -0700 |
commit | 7fea7121ce195e562a5443c0a8ef3861504ef1b3 (patch) | |
tree | 236af2179fb3d2e57c185ae9cf0344fafb1ed92a /compiler/iface/MkIface.hs | |
parent | 77ccdf3b7387ed16f781a8f693dc3c9bde87f477 (diff) | |
download | haskell-7fea7121ce195e562a5443c0a8ef3861504ef1b3.tar.gz |
Use a deterministic map for imp_dep_mods
This lets us remove some normalization and makes it
less brittle for the future.
Test Plan: ./validate
Reviewers: ezyang, austin, bgamari, simonmar
Reviewed By: simonmar
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2311
GHC Trac Issues: #4012
Diffstat (limited to 'compiler/iface/MkIface.hs')
-rw-r--r-- | compiler/iface/MkIface.hs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/iface/MkIface.hs b/compiler/iface/MkIface.hs index 88bc662967..67bbd9505b 100644 --- a/compiler/iface/MkIface.hs +++ b/compiler/iface/MkIface.hs @@ -107,6 +107,7 @@ import Binary import Fingerprint import Exception import UniqFM +import UniqDFM import Control.Monad import Data.Function @@ -1055,14 +1056,14 @@ checkVersions hsc_env mod_summary iface -- We do this regardless of compilation mode, although in --make mode -- all the dependent modules should be in the HPT already, so it's -- quite redundant - ; updateEps_ $ \eps -> eps { eps_is_boot = mod_deps } + ; updateEps_ $ \eps -> eps { eps_is_boot = udfmToUfm mod_deps } ; recomp <- checkList [checkModUsage this_pkg u | u <- mi_usages iface] ; return (recomp, Just iface) }}}} where this_pkg = thisPackage (hsc_dflags hsc_env) -- This is a bit of a hack really - mod_deps :: ModuleNameEnv (ModuleName, IsBootInterface) + mod_deps :: DModuleNameEnv (ModuleName, IsBootInterface) mod_deps = mkModDeps (dep_mods (mi_deps iface)) -- | Check the flags haven't changed |