Haskell Program Coverage
authorandy@galois.com <unknown>
Tue, 24 Oct 2006 21:29:07 +0000 (21:29 +0000)
committerandy@galois.com <unknown>
Tue, 24 Oct 2006 21:29:07 +0000 (21:29 +0000)
commitd5934bbb856aa0aa620c9b2e0fa51c90a1a5a048
tree065c061d4ff87a6ca8bff6a3a4b0fe205728e066
parent33b8b60e0aa925962cd11a8be98d9818666d58a0
Haskell Program Coverage

This large checkin is the new ghc version of Haskell
Program Coverage, an expression-level coverage tool for Haskell.

Parts:

 - Hpc.[ch] - small runtime support for Hpc; reading/writing *.tix files.
 - Coverage.lhs - Annotates the HsSyn with coverage tickboxes.
  - New Note's in Core,
      - TickBox      -- ticked on entry to sub-expression
      - BinaryTickBox  -- ticked on exit to sub-expression, depending
             -- on the boolean result.

  - New Stg level TickBox (no BinaryTickBoxes, though)

You can run the coverage tool with -fhpc at compile time.
Main must be compiled with -fhpc.
40 files changed:
compiler/cmm/CLabel.hs
compiler/codeGen/CgExpr.lhs
compiler/codeGen/CgHpc.hs [new file with mode: 0644]
compiler/codeGen/CodeGen.lhs
compiler/coreSyn/CorePrep.lhs
compiler/coreSyn/CoreSyn.lhs
compiler/coreSyn/CoreUtils.lhs
compiler/coreSyn/PprCore.lhs
compiler/deSugar/Coverage.lhs [new file with mode: 0644]
compiler/deSugar/Desugar.lhs
compiler/deSugar/DsBinds.lhs
compiler/deSugar/DsExpr.lhs
compiler/deSugar/DsUtils.lhs
compiler/hsSyn/HsBinds.lhs
compiler/hsSyn/HsExpr.lhs
compiler/hsSyn/HsUtils.lhs
compiler/iface/BinIface.hs
compiler/iface/IfaceSyn.lhs
compiler/iface/MkIface.lhs
compiler/iface/TcIface.lhs
compiler/main/DynFlags.hs
compiler/main/HscMain.lhs
compiler/main/HscTypes.lhs
compiler/main/TidyPgm.lhs
compiler/parser/RdrHsSyn.lhs
compiler/profiling/SCCfinal.lhs
compiler/rename/RnBinds.lhs
compiler/simplCore/FloatIn.lhs
compiler/simplCore/Simplify.lhs
compiler/simplStg/SRT.lhs
compiler/simplStg/StgStats.lhs
compiler/stgSyn/CoreToStg.lhs
compiler/stgSyn/StgSyn.lhs
compiler/typecheck/TcBinds.lhs
compiler/typecheck/TcRnDriver.lhs
driver/mangler/ghc-asm.lprl
includes/HsFFI.h
rts/Hpc.c [new file with mode: 0644]
rts/Hpc.h [new file with mode: 0644]
rts/RtsStartup.c