X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FdeSugar%2FDesugar.lhs;h=29801f28cdefc3b5343eb4600b68f29ccb71b6cb;hp=f49a84c8393f78deb605c37bb7646523a18516d9;hb=b00b5bc04ff36a551552470060064f0b7d84ca30;hpb=7e623a3a6c4fa75bae5be29a9fca015f98f1c30b diff --git a/compiler/deSugar/Desugar.lhs b/compiler/deSugar/Desugar.lhs index f49a84c..29801f2 100644 --- a/compiler/deSugar/Desugar.lhs +++ b/compiler/deSugar/Desugar.lhs @@ -13,7 +13,7 @@ import StaticFlags ( opt_SccProfilingOn, opt_AutoSccsOnAllToplevs, opt_AutoSccsOnExportedToplevs ) import DriverPhases ( isHsBoot ) -import HscTypes ( ModGuts(..), HscEnv(..), +import HscTypes ( ModGuts(..), HscEnv(..), availsToNameSet, Dependencies(..), ForeignStubs(..), TypeEnv, IsBootInterface ) import HsSyn ( RuleDecl(..), RuleBndr(..), LHsExpr, LRuleDecl ) import TcRnTypes ( TcGblEnv(..), ImportAvails(..) ) @@ -78,7 +78,8 @@ deSugar hsc_env = do { showPass dflags "Desugar" -- Desugar the program - ; let auto_scc = mkAutoScc mod exports + ; let export_set = availsToNameSet exports + ; let auto_scc = mkAutoScc mod export_set ; mb_res <- case ghcMode dflags of JustTypecheck -> return (Just ([], [], NoStubs)) @@ -96,8 +97,8 @@ deSugar hsc_env { -- Add export flags to bindings keep_alive <- readIORef keep_var - ; let final_prs = addExportFlags ghci_mode exports keep_alive - all_prs ds_rules + ; let final_prs = addExportFlags ghci_mode export_set + keep_alive all_prs ds_rules ds_binds = [Rec final_prs] -- Notice that we put the whole lot in a big Rec, even the foreign binds -- When compiling PrelFloat, which defines data Float = F# Float#