integer-gmp: Fix #11296
authorBen Gamari <bgamari.foss@gmail.com>
Sun, 27 Dec 2015 16:49:10 +0000 (17:49 +0100)
committerBen Gamari <ben@smart-cactus.org>
Sun, 27 Dec 2015 17:47:54 +0000 (18:47 +0100)
This was introduced by a mental fumble in
9e8562ae02701270e2c1dfcee3279d862dc5b7b6 wherein I replaced
`getSizeofMutableByteArray` with `getSizeofMutBigNat`. This was noticed
by invalid integers being produced on 32-bit machines in #11296.

Test Plan: Validate

Reviewers: hvr, goldfire, austin

Reviewed By: hvr

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1707

GHC Trac Issues: #11296

libraries/integer-gmp/src/GHC/Integer/Type.hs

index 167492d..3e563dc 100644 (file)
@@ -1659,7 +1659,7 @@ resizeMutBigNat# (MBN# mba0#) nsz# s
         (# s'', mba# #) -> (# s'', MBN# mba# #)
   where
     bsz# = nsz# `uncheckedIShiftL#` GMP_LIMB_SHIFT#
-    (# s', n# #) = getSizeofMutBigNat# (MBN# mba0#) s
+    (# s', n# #) = getSizeofMutableByteArray# mba0# s
 
 shrinkMutBigNat# :: MutBigNat s -> GmpSize# -> State# s -> State# s
 shrinkMutBigNat# (MBN# mba0#) nsz# s
@@ -1667,7 +1667,7 @@ shrinkMutBigNat# (MBN# mba0#) nsz# s
   | True                  = shrinkMutableByteArray# mba0# bsz# s'
   where
     bsz# = nsz# `uncheckedIShiftL#` GMP_LIMB_SHIFT#
-    (# s', n# #) = getSizeofMutBigNat# (MBN# mba0#) s
+    (# s', n# #) = getSizeofMutableByteArray# mba0# s
 
 unsafeSnocFreezeBigNat# :: MutBigNat s -> GmpLimb# -> S s BigNat
 unsafeSnocFreezeBigNat# mbn0@(MBN# mba0#) limb# s = go s'