Ticket #3191 (new bug)

Opened 4 years ago

Last modified 8 months ago

hpc reports spurious results with .lhs files even after processing with ghc -E

Reported by: dominic Owned by: andy@…
Priority: lowest Milestone: 7.6.2
Component: Code Coverage Version: 6.10.2
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

I've done a bit of investigation and it seems there are at least two problems:

1. I have literate haskell files (.lhs).

2. Even if I run them through the pre-processor (ghc -E) they still don't work but if I manually remove these lines (which seem to get inserted by the pre-processor)

{-# LINE 1 "ASNTYPE.lhs" #-} #line 1 "ASNTYPE.lhs"

then it does actually work.

I still have a problem with another project which doesn't use literate haskell but does require the use of -cpp and has got #ifdef's. I haven't got to the bottom of it yet but I'm suspicious that lines starting with # cause hpc to misbehave.

It's strange that hpc should behave like this as I would have thought it wouldn't care about hs / lhs and # as ghc would have done some of its standard processing before hpc got engaged.

This happens on linux and windows (not surprisingly).

Change History

Changed 4 years ago by igloo

  • difficulty set to Unknown

See also #2991.

Changed 4 years ago by igloo

  • milestone set to 6.12 branch

Changed 3 years ago by igloo

  • milestone changed from 6.12 branch to 6.12.3

Changed 3 years ago by igloo

  • priority changed from normal to low
  • milestone changed from 6.12.3 to 6.14.1

Changed 2 years ago by igloo

  • milestone changed from 7.0.1 to 7.0.2

Changed 2 years ago by igloo

  • milestone changed from 7.0.2 to 7.2.1

Changed 20 months ago by igloo

  • milestone changed from 7.2.1 to 7.4.1

Changed 15 months ago by igloo

  • priority changed from low to lowest
  • milestone changed from 7.4.1 to 7.6.1

Changed 8 months ago by igloo

  • milestone changed from 7.6.1 to 7.6.2
Note: See TracTickets for help on using tickets.