From 1d879dece90f19bdb4b072e8486aa836eddf854b Mon Sep 17 00:00:00 2001 From: simonmar Date: Fri, 26 Jan 2001 17:29:34 +0000 Subject: [PATCH] [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...). --- ghc/compiler/compMan/CompManager.lhs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) 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 -- 1.7.10.4