diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2019-09-20 14:20:55 -0400 |
---|---|---|
committer | Cale Gibbard <cgibbard@gmail.com> | 2020-12-28 12:27:02 -0500 |
commit | e7ee7957a7ac746cfa05d7218fe0c2d1fd27f569 (patch) | |
tree | 1f89954c213700d7c0b5b6538f4e3743197ddeaa | |
parent | 8a5ccf93c53a40abe42134c2282ac9b9d653224c (diff) |
Support a new ghc --make node type for parallel backpack upsweep
-rw-r--r-- | haddock-api/src/Haddock/Interface.hs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/haddock-api/src/Haddock/Interface.hs b/haddock-api/src/Haddock/Interface.hs index e9cd6e0d..81c79cdf 100644 --- a/haddock-api/src/Haddock/Interface.hs +++ b/haddock-api/src/Haddock/Interface.hs @@ -52,6 +52,7 @@ import Text.Printf import GHC.Unit.Module.Env (mkModuleSet, emptyModuleSet, unionModuleSet, ModuleSet) import GHC.Unit.Module.ModSummary +import GHC.Unit.Module.Graph import GHC.Unit.Types import GHC.Data.Graph.Directed import GHC.Driver.Session hiding (verbosity) @@ -137,10 +138,11 @@ createIfaces verbosity modules flags instIfaceMap = do (ifaces, _, !ms) <- foldM f ([], Map.empty, emptyModuleSet) sortedMods return (reverse ifaces, ms) where - f (ifaces, ifaceMap, !ms) modSummary = do + f state (InstantiationNode _) = pure state + f (ifaces, ifaceMap, !ms) (ModuleNode ems) = do x <- {-# SCC processModule #-} withTimingD "processModule" (const ()) $ do - processModule verbosity modSummary flags ifaceMap instIfaceMap + processModule verbosity (emsModSummary ems) flags ifaceMap instIfaceMap return $ case x of Just (iface, ms') -> ( iface:ifaces , Map.insert (ifaceMod iface) iface ifaceMap |