X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FHscMain.lhs;h=42ed3e45989e44880ce8d51b5112d0e29f316199;hb=d196d84a6a6fbd128da207c03b1c5f29fb24e6a4;hp=3ab10a431c196de9731ac5fc81a029fcf6652827;hpb=0cb74388d80c12f0804db61744a041be7fcfa10b;p=ghc-hetmet.git diff --git a/compiler/main/HscMain.lhs b/compiler/main/HscMain.lhs index 3ab10a4..42ed3e4 100644 --- a/compiler/main/HscMain.lhs +++ b/compiler/main/HscMain.lhs @@ -46,14 +46,16 @@ import CorePrep ( corePrepExpr ) import Desugar ( deSugarExpr ) import SimplCore ( simplifyExpr ) import TcRnDriver ( tcRnStmt, tcRnExpr, tcRnType ) -import Type ( Type ) +import Type ( Type, tyVarsOfTypes ) import PrelNames ( iNTERACTIVE ) import {- Kind parts of -} Type ( Kind ) +import Id ( idType ) import CoreLint ( lintUnfolding ) import DsMeta ( templateHaskellNames ) import SrcLoc ( SrcSpan, noSrcLoc, interactiveSrcLoc, srcLocSpan, noSrcSpan, unLoc ) import VarSet import VarEnv ( emptyTidyEnv ) +import Panic #endif import Id ( Id ) @@ -148,9 +150,7 @@ newHscEnv callbacks dflags hsc_FC = fc_var, hsc_MLC = mlc_var, hsc_OptFuel = optFuel, - hsc_type_env_var = Nothing, - hsc_global_rdr_env = emptyGlobalRdrEnv, - hsc_global_type_env = emptyNameEnv } ) } + hsc_type_env_var = Nothing } ) } knownKeyNames :: [Name] -- Put here to avoid loops involving DsMeta, @@ -1027,7 +1027,7 @@ compileExpr :: HscEnv -> SrcSpan -> CoreExpr -> IO HValue compileExpr hsc_env srcspan ds_expr | rtsIsProfiled - = panic "You can't call compileExpr in a profiled compiler" + = throwIO (InstallationError "You can't call compileExpr in a profiled compiler") -- Otherwise you get a seg-fault when you run it | otherwise @@ -1047,7 +1047,7 @@ compileExpr hsc_env srcspan ds_expr -- ToDo: improve SrcLoc ; if lint_on then let ictxt = hsc_IC hsc_env - tyvars = varSetElems (ic_tyvars ictxt) + tyvars = varSetElems (tyVarsOfTypes (map idType (ic_tmp_ids ictxt))) in case lintUnfolding noSrcLoc tyvars prepd_expr of Just err -> pprPanic "compileExpr" err