[GHC] #8695: Arithmetic overflow from (minBound :: Int) `quot` (-1)

GHC ghc-devs at haskell.org
Tue Jan 28 23:45:13 UTC 2014


#8695: Arithmetic overflow from (minBound :: Int) `quot` (-1)
------------------------------------------------+--------------------------
        Reporter:  rleslie                      |            Owner:
            Type:  bug                          |           Status:  patch
        Priority:  normal                       |        Milestone:  7.8.1
       Component:  libraries/haskell2010        |          Version:  7.6.3
      Resolution:                               |         Keywords:
Operating System:  Unknown/Multiple             |     Architecture:
 Type of failure:  Incorrect result at runtime  |  Unknown/Multiple
       Test Case:                               |       Difficulty:
        Blocking:                               |  Unknown
                                                |       Blocked By:
                                                |  Related Tickets:  #1042
------------------------------------------------+--------------------------

Comment (by rwbarton):

 Basically, I don't agree that `minBound :: Int` is a sensible value for
 `div minBound (-1) :: Int`. Division and modular arithmetic are
 fundamentally incompatible, so if you are using `div` or `quot` on `Int`s,
 you are not using `Int` for modular arithmetic but rather to compute more
 efficiently with integers that happen to be small. And as integers,
 `-2147483648` divided by `-1` is not `-2147483648`.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8695#comment:24>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list