From: simonmar Date: Fri, 26 Jan 2001 17:29:34 +0000 (+0000) Subject: [project @ 2001-01-26 17:29:34 by simonmar] X-Git-Tag: Approximately_9120_patches~2801 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=1d879dece90f19bdb4b072e8486aa836eddf854b;p=ghc-hetmet.git [project @ 2001-01-26 17:29:34 by simonmar] Ok, don't throw away interfaces and symbol tables as part of the pre-upsweep. This seems to fix the recompilation problems (well, some of them anyway...). --- diff --git a/ghc/compiler/compMan/CompManager.lhs b/ghc/compiler/compMan/CompManager.lhs index f37a2a2..1f8ff8b 100644 --- a/ghc/compiler/compMan/CompManager.lhs +++ b/ghc/compiler/compMan/CompManager.lhs @@ -249,14 +249,9 @@ cmLoadModule cmstate1 rootname putStrLn (showSDoc (text "STABLE MODULES:" <+> sep (map (text.moduleNameUserString) stable_mods))) - let (hst2, hit2) = retainInTopLevelEnvs stable_mods (hst1, hit1) - - -- Now hst2 and hit2 now hold the 'reduced system', just the set of - -- modules which are stable. - -- We could at this point detect cycles which aren't broken by - -- a source-import, and complain immediately, but it seems better - -- to let upsweep_mods do this, so at least some useful work gets + -- a source-import, and complain immediately, but it seems better + -- to let upsweep_mods do this, so at least some useful work gets -- done before the upsweep is abandoned. let upsweep_these = filter (\scc -> any (`notElem` stable_mods) @@ -274,7 +269,7 @@ cmLoadModule cmstate1 rootname -- Now do the upsweep, calling compile for each module in -- turn. Final result is version 3 of everything. - let threaded2 = CmThreaded pcs1 hst2 hit2 + let threaded2 = CmThreaded pcs1 hst1 hit1 (upsweep_complete_success, threaded3, modsUpswept, newLis) <- upsweep_mods ghci_mode dflags valid_linkables reachable_from