X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FHscMain.lhs;h=f686f34931f2712feecd23e1709a5329930c1e0c;hb=3e7ab539c9fd5cbc925254d848d8f5e001b68253;hp=1b7df1ba626a0632bbd5e0101d184ba437a4c5e5;hpb=a28f108105065f926702dd03d737b60f298cfa3c;p=ghc-hetmet.git diff --git a/compiler/main/HscMain.lhs b/compiler/main/HscMain.lhs index 1b7df1b..f686f34 100644 --- a/compiler/main/HscMain.lhs +++ b/compiler/main/HscMain.lhs @@ -32,15 +32,12 @@ module HscMain , makeSimpleDetails ) where -#include "HsVersions.h" - #ifdef GHCI import CodeOutput ( outputForeignStubs ) import ByteCodeGen ( byteCodeGen, coreExprToBCOs ) import Linker ( HValue, linkExpr ) import CoreTidy ( tidyExpr ) import CorePrep ( corePrepExpr ) -import Flattening ( flattenExpr ) import Desugar ( deSugarExpr ) import SimplCore ( simplifyExpr ) import TcRnDriver ( tcRnStmt, tcRnExpr, tcRnType ) @@ -578,7 +575,10 @@ hscNormalIface simpl_result <- {-# SCC "MkFinalIface" #-} mkIface hsc_env maybe_old_iface details simpl_result -- Emit external core - emitExternalCore (hsc_dflags hsc_env) (availsToNameSet (mg_exports simpl_result)) cg_guts -- Move this? --Lemmih 03/07/2006 + -- This should definitely be here and not after CorePrep, + -- because CorePrep produces unqualified constructor wrapper declarations, + -- so its output isn't valid External Core (without some preprocessing). + emitExternalCore (hsc_dflags hsc_env) cg_guts dumpIfaceStats hsc_env ------------------- @@ -927,7 +927,7 @@ hscParseThing parser dflags str buf <- stringToStringBuffer str - let loc = mkSrcLoc FSLIT("") 1 0 + let loc = mkSrcLoc (fsLit "") 1 0 case unP parser (mkPState buf loc dflags) of { @@ -961,11 +961,8 @@ compileExpr hsc_env srcspan ds_expr = do { let { dflags = hsc_dflags hsc_env ; lint_on = dopt Opt_DoCoreLinting dflags } - -- Flatten it - ; flat_expr <- flattenExpr hsc_env ds_expr - -- Simplify it - ; simpl_expr <- simplifyExpr dflags flat_expr + ; simpl_expr <- simplifyExpr dflags ds_expr -- Tidy it (temporary, until coreSat does cloning) ; let tidy_expr = tidyExpr emptyTidyEnv simpl_expr