From 55357088ddc788000b29e6bc8697fe09471bf195 Mon Sep 17 00:00:00 2001 From: Roman Leshchinskiy Date: Thu, 23 Aug 2007 01:34:58 +0000 Subject: [PATCH] Read the package state after pulling in all built-ins during vectorisation --- compiler/vectorise/VectMonad.hs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/compiler/vectorise/VectMonad.hs b/compiler/vectorise/VectMonad.hs index 6cb1679..0a14b6c 100644 --- a/compiler/vectorise/VectMonad.hs +++ b/compiler/vectorise/VectMonad.hs @@ -47,6 +47,7 @@ import NameEnv import TysPrim ( intPrimTy ) import Module import IfaceEnv +import IOEnv ( ioToIOEnv ) import DsMonad import PrelNames @@ -429,23 +430,23 @@ lookupFamInst tycon tys initV :: HscEnv -> ModGuts -> VectInfo -> VM a -> IO (Maybe (VectInfo, a)) initV hsc_env guts info p = do - eps <- hscEPS hsc_env - let famInstEnvs = (eps_fam_inst_env eps, mg_fam_inst_env guts) - let instEnvs = (eps_inst_env eps, mg_inst_env guts) - Just r <- initDs hsc_env (mg_module guts) (mg_rdr_env guts) (mg_types guts) - (go instEnvs famInstEnvs) + go return r where - go instEnvs famInstEnvs = + go = do - builtins <- initBuiltins + builtins <- initBuiltins builtin_tycons <- initBuiltinTyCons builtin_pas <- initBuiltinPAs + eps <- ioToIOEnv $ hscEPS hsc_env + let famInstEnvs = (eps_fam_inst_env eps, mg_fam_inst_env guts) + instEnvs = (eps_inst_env eps, mg_inst_env guts) + let genv = extendTyConsEnv builtin_tycons . extendPAFunsEnv builtin_pas $ initGlobalEnv info instEnvs famInstEnvs -- 1.7.10.4