diff --git a/ghc/compiler/basicTypes/Literal.lhs b/ghc/compiler/basicTypes/Literal.lhs index 3d53165f2d5b9d1ba9bda74b20e16587cfc23066..b8f495eddf3305c4971234d8769621e047d7130c 100644 --- a/ghc/compiler/basicTypes/Literal.lhs +++ b/ghc/compiler/basicTypes/Literal.lhs @@ -152,7 +152,7 @@ word2IntLit, int2WordLit, char2IntLit, int2CharLit, addr2IntLit, int2AddrLit, float2DoubleLit, double2FloatLit :: Literal -> Literal word2IntLit (MachWord w) - | w > tARGET_MAX_INT = MachInt ((-1) + tARGET_MAX_WORD - w) + | w > tARGET_MAX_INT = MachInt (w - tARGET_MAX_WORD - 1) | otherwise = MachInt w int2WordLit (MachInt i)