X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FdeSugar%2FDesugar.lhs;h=1415b55c944e2999f2a176b475de7d1d662b6d40;hb=6a05ec5ef5373f61b7f9f5bdc344483417fa801b;hp=e2b22ee3a6e1cd70168f70957fa7101a9f1d4d4b;hpb=d77637338d311172efb17a4a7e99ac6c441543b1;p=ghc-hetmet.git diff --git a/compiler/deSugar/Desugar.lhs b/compiler/deSugar/Desugar.lhs index e2b22ee..1415b55 100644 --- a/compiler/deSugar/Desugar.lhs +++ b/compiler/deSugar/Desugar.lhs @@ -6,6 +6,13 @@ The Desugarer: turning HsSyn into Core. \begin{code} +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + module Desugar ( deSugar, deSugarExpr ) where #include "HsVersions.h" @@ -78,7 +85,8 @@ deSugar hsc_env tcg_fords = fords, tcg_rules = rules, tcg_insts = insts, - tcg_fam_insts = fam_insts }) + tcg_fam_insts = fam_insts, + tcg_hpc = other_hpc_info }) = do { let dflags = hsc_dflags hsc_env ; showPass dflags "Desugar" @@ -87,12 +95,15 @@ deSugar hsc_env ; let export_set = availsToNameSet exports ; let auto_scc = mkAutoScc mod export_set ; let target = hscTarget dflags + ; let hpcInfo = emptyHpcInfo other_hpc_info ; mb_res <- case target of - HscNothing -> return (Just ([], [], NoStubs, noHpcInfo, emptyModBreaks)) + HscNothing -> return (Just ([], [], NoStubs, hpcInfo, emptyModBreaks)) _ -> do (binds_cvr,ds_hpc_info, modBreaks) - <- if opt_Hpc || target == HscInterpreted + <- if (opt_Hpc + || target == HscInterpreted) + && (not (isHsBoot hsc_src)) then addCoverageTicksToBinds dflags mod mod_loc (typeEnvTyCons type_env) binds - else return (binds, noHpcInfo, emptyModBreaks) + else return (binds, hpcInfo, emptyModBreaks) initDs hsc_env mod rdr_env type_env $ do { core_prs <- dsTopLHsBinds auto_scc binds_cvr ; (ds_fords, foreign_prs) <- dsForeigns fords @@ -162,7 +173,7 @@ deSugar hsc_env mg_exports = exports, mg_deps = deps, mg_usages = usages, - mg_dir_imps = [m | (m,_,_) <- moduleEnvElts dir_imp_mods], + mg_dir_imps = [m | (m, _) <- moduleEnvElts dir_imp_mods], mg_rdr_env = rdr_env, mg_fix_env = fix_env, mg_deprecs = deprecs,