
#15696: Derived Ord instance for enumerations with more than 8 elements seems to be incorrect -------------------------------------+------------------------------------- Reporter: mrkkrp | Owner: (none) Type: bug | Status: patch Priority: highest | Milestone: 8.6.2 Component: Compiler | Version: 8.6.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect result | Unknown/Multiple at runtime | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5196, Wiki Page: | Phab:D5201 -------------------------------------+------------------------------------- Comment (by osa1): Here's my (hopefully final) proposal: (1) is best done in Core. I'll remove the relevant code from Phab:D5201. For cases that should be optimised but currently aren't, we can open a new ticket and track the progress there. (2) is best avoided. It opens a can of worms, and it's what caused this ticket. (3) Should be done in Cmm. Phab:D5201 already does this, but we need to do some refactoring to be able to reliably check whether the argument type is a large or small family (to decide whether to check tag bits of read the info table). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15696#comment:45 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler