summaryrefslogtreecommitdiff
path: root/compiler/iface/MkIface.hs
diff options
context:
space:
mode:
authorBartosz Nitka <niteria@gmail.com>2016-06-07 05:55:50 -0700
committerBartosz Nitka <niteria@gmail.com>2016-06-07 05:56:04 -0700
commit7fea7121ce195e562a5443c0a8ef3861504ef1b3 (patch)
tree236af2179fb3d2e57c185ae9cf0344fafb1ed92a /compiler/iface/MkIface.hs
parent77ccdf3b7387ed16f781a8f693dc3c9bde87f477 (diff)
downloadhaskell-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.hs5
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