summaryrefslogtreecommitdiff
path: root/ghc/Main.hs
diff options
context:
space:
mode:
authorEdward Z. Yang <ezyang@cs.stanford.edu>2015-07-20 20:16:40 -0700
committerEdward Z. Yang <ezyang@cs.stanford.edu>2015-07-20 20:54:05 -0700
commit214596de224afa576a9c295bcf53c6941d6892e0 (patch)
tree2b3f6d3436e719dcd7d40a72d707e52e02496ea6 /ghc/Main.hs
parent0c6c015d42c2bd0ee008f790c7c0cb4c5b78ca6b (diff)
downloadhaskell-214596de224afa576a9c295bcf53c6941d6892e0.tar.gz
Revert "Revert "Support for multiple signature files in scope.""
This reverts commit bac927b9770ff769128b66d13a3e72bf5a9bc514. As it turns out, we need these commits for separate compilation and accurate dependency tracking. So back in they go!
Diffstat (limited to 'ghc/Main.hs')
-rw-r--r--ghc/Main.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/ghc/Main.hs b/ghc/Main.hs
index fa266a24f8..201ee5d8d2 100644
--- a/ghc/Main.hs
+++ b/ghc/Main.hs
@@ -834,11 +834,12 @@ abiHash strs = do
let modname = mkModuleName str
r <- findImportedModule hsc_env modname Nothing
case r of
- Found _ m -> return m
+ FoundModule h -> return [fr_mod h]
+ FoundSigs hs _ -> return (map fr_mod hs)
_error -> throwGhcException $ CmdLineError $ showSDoc dflags $
cannotFindInterface dflags modname r
- mods <- mapM find_it strs
+ mods <- fmap concat (mapM find_it strs)
let get_iface modl = loadUserInterface False (text "abiHash") modl
ifaces <- initIfaceCheck hsc_env $ mapM get_iface mods