Ticket #2224 (new bug)
-fhpc inteferes/prevents rewrite rules from firing
| Reported by: | dons | Owned by: | andy@… |
|---|---|---|---|
| Priority: | lowest | Milestone: | 7.6.2 |
| Component: | Code Coverage | Version: | 6.8.2 |
| Keywords: | rules, hpc | Cc: | dons@… |
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | Difficulty: | Unknown | |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
Use case:
I'm writing tests for rewrite rules, and using HPC to determine if rules were fired (and their code exercised). HPC is quite cool here, since it lets us see which rules fired, without needing to explicitly export functions to test.
However, -fhpc seems to prevent many rules from firing (likely due to ticks getting in the way?)
For example:
import qualified Data.ByteString.Char8 as C main = print (C.pack "literal")
When compiled normally, triggers a nice rewrite rule:
$ ghc -O2 A.hs -ddump-simpl-stats A.hs -c
1 ByteString pack/packAddress
Now with -fhpc:
2 RuleFired
1 unpack
1 unpack-list
What's the best way to ensure the same code is exercised with and without -fhpc here? (I'd quite like to get this working, since rewrite rules benefit from testing.)
Change History
Note: See
TracTickets for help on using
tickets.
