X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fhpc%2FHpcReport.hs;h=2950cbf253a6b37705a36da2e44dfb45c27047fc;hb=04a42d01c41923baf66eacabf6ffb22dfe367108;hp=2fa79f60d77c1436683a1247a88f2b8023df9d51;hpb=3da243bf737dc3e26dfbfa943df1fda1ce7c1bab;p=ghc-hetmet.git diff --git a/utils/hpc/HpcReport.hs b/utils/hpc/HpcReport.hs index 2fa79f6..2950cbf 100644 --- a/utils/hpc/HpcReport.hs +++ b/utils/hpc/HpcReport.hs @@ -5,7 +5,9 @@ module HpcReport (report_plugin) where +import System.Exit import Prelude hiding (exp) +import System(getArgs) import List(sort,intersperse) import HpcFlags import Trace.Hpc.Mix @@ -150,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)} @@ -223,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 @@ -259,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 +