import SrcLoc ( SrcSpan, noSrcLoc, interactiveSrcLoc, srcLocSpan, noSrcSpan, unLoc )
import VarSet
import VarEnv ( emptyTidyEnv )
+import Panic
#endif
import Id ( Id )
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,
let loc = mkSrcLoc (mkFastString src_filename) 1 1
- case unP parseModule (mkPState buf loc dflags) of
+ case unP parseModule (mkPState dflags buf loc) of
PFailed span err ->
throwOneError (mkPlainErrMsg span err)
let loc = mkSrcLoc (fsLit "<interactive>") 1 1
- case unP parser (mkPState buf loc dflags) of
+ case unP parser (mkPState dflags buf loc) of
PFailed span err -> do
let msg = mkPlainErrMsg span err
compileExpr :: HscEnv -> SrcSpan -> CoreExpr -> IO HValue
compileExpr hsc_env srcspan ds_expr
+ | rtsIsProfiled
+ = throwIO (InstallationError "You can't call compileExpr in a profiled compiler")
+ -- Otherwise you get a seg-fault when you run it
+
+ | otherwise
= do { let { dflags = hsc_dflags hsc_env ;
lint_on = dopt Opt_DoCoreLinting dflags }