X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Ftypecheck%2FTcRnMonad.lhs;h=fe410c6cbe15a4a811c42dfc784e2a899fb57395;hb=53fe941370fd7fc90bf2e725f0f0b7c0382ceb4e;hp=86af49a59d4b2339fb31eff3c05baf786cea8999;hpb=42ab01d7f2ff076d91703a333caa5561fb3fd91a;p=ghc-hetmet.git diff --git a/ghc/compiler/typecheck/TcRnMonad.lhs b/ghc/compiler/typecheck/TcRnMonad.lhs index 86af49a..fe410c6 100644 --- a/ghc/compiler/typecheck/TcRnMonad.lhs +++ b/ghc/compiler/typecheck/TcRnMonad.lhs @@ -74,6 +74,7 @@ initTc hsc_env mod do_this tvs_var <- newIORef emptyVarSet ; type_env_var <- newIORef emptyNameEnv ; dfuns_var <- newIORef emptyNameSet ; + th_var <- newIORef False ; let { gbl_env = TcGblEnv { @@ -85,6 +86,7 @@ initTc hsc_env mod do_this tcg_type_env_var = type_env_var, tcg_inst_env = mkImpInstEnv hsc_env, tcg_inst_uses = dfuns_var, + tcg_th_used = th_var, tcg_exports = emptyNameSet, tcg_imports = init_imports, tcg_dus = emptyDUs, @@ -733,6 +735,9 @@ setLclTypeEnv lcl_env thing_inside %************************************************************************ \begin{code} +recordThUse :: TcM () +recordThUse = do { env <- getGblEnv; writeMutVar (tcg_th_used env) True } + getStage :: TcM ThStage getStage = do { env <- getLclEnv; return (tcl_th_ctxt env) }