X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fhpc%2FHpcReport.hs;h=2950cbf253a6b37705a36da2e44dfb45c27047fc;hb=refs%2Ftags%2FBefore_type_family_merge;hp=2c502f4241b751d2e832d8c48d9068d14326d8d2;hpb=11d36d9f0256a3a3ef2934a776924f7c90afb6de;p=ghc-hetmet.git diff --git a/utils/hpc/HpcReport.hs b/utils/hpc/HpcReport.hs index 2c502f4..2950cbf 100644 --- a/utils/hpc/HpcReport.hs +++ b/utils/hpc/HpcReport.hs @@ -13,7 +13,7 @@ import HpcFlags import Trace.Hpc.Mix import Trace.Hpc.Tix import Control.Monad hiding (guard) -import qualified Data.Set as Set +import qualified HpcSet as Set notExpecting :: String -> a notExpecting s = error ("not expecting "++s) @@ -152,7 +152,7 @@ single (BinBox {}) = False modInfo :: Flags -> Bool -> (String,[Integer]) -> IO ModInfo modInfo hpcflags qualDecList (moduleName,tickCounts) = do - Mix _ _ _ _ mes <- readMix (hpcDirs hpcflags) moduleName + Mix _ _ _ _ mes <- readMixWithFlags hpcflags moduleName return (q (accumCounts (zip (map snd mes) tickCounts) miZero)) where q mi = if qualDecList then mi{decPaths = map (moduleName:) (decPaths mi)} @@ -225,9 +225,9 @@ report_main hpcflags (progName:mods) = do | TixModule m _h _ tcs <- tickCounts , allowModule hpcflags1 m ] - Nothing -> error $ "unable to find tix file for:" ++ progName - - + Nothing -> hpcError report_plugin $ "unable to find tix file for:" ++ progName +report_main hpcflags [] = + hpcError report_plugin $ "no .tix file or executable name specified" makeReport :: Flags -> String -> [(String,[Integer])] -> IO () makeReport hpcflags progName modTcs | xmlOutput hpcflags = do @@ -261,5 +261,13 @@ xmlBBT (BBT b tt tf bt) = [("boxes",show b),("true",show tt),("false",show tf),( ------------------------------------------------------------------------------ -report_options = [perModuleOpt,decListOpt,excludeOpt,includeOpt,hpcDirOpt,xmlOutputOpt] +report_options + = perModuleOpt + . decListOpt + . excludeOpt + . includeOpt + . srcDirOpt + . hpcDirOpt + . xmlOutputOpt +