Opened 2 years ago

Last modified 9 months ago

#8372 new feature request

enable -dcmm-lint by default for .cmm input files

Reported by: rwbarton Owned by:
Priority: normal Milestone:
Component: Compiler Version: 7.7
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Revisions:

Description

I'm finding it's quite easy to write .cmm files with subtle errors that cause ghc to emit code that wasn't what I wanted! For example, I wrote a comparison between two arguments of different integer sizes and the code generator picked the wrong size. After tracking down the bug, I tried -dcmm-lint and it caught my error right away.

It makes sense not to have -dcmm-lint enabled by default for Cmm produced from Stg, but I've seen here on the GHC wiki that -dcmm-lint is advised for hand-written .cmm files. But integer-gmp, and probably many other packages, don't build .cmm files with -dcmm-lint. Is there a reason we can't/shouldn't just make it the default?

Change History (1)

comment:1 Changed 9 months ago by thomie

For reference, in rts/ghc.mk we do have:

# We *want* type-checking of hand-written cmm.
rts_HC_OPTS += -dcmm-lint
Note: See TracTickets for help on using tickets.