Skip to content
  • Simon Peyton Jones's avatar
    Import GHC.Err so we see bottoming functions properly · e3abe558
    Simon Peyton Jones authored
    Before this patch, GHC/Err.lhs-boot exported divZeroError and overflowError,
    as well as plain 'error'.  The latter has a wired-in defn in GHC (MkId.lhs),
    but the former two do not.  As a result GHC doesn't see that overflowError
    is a bottoming function at a crucial moment when compiling GHC.Real, and
    that means that divMod wasn't getting the CPR property.
    
    The fix is easy:
      - GHC/Err.lhs-boot should export only 'error'
    
      - GHC.Real, GHC.Int, and GHC.Word should import GHC.Err
        directly.  They can do this nowadays without creating
        a module loop, thanks to the new exception story
    e3abe558