diff options
author | Herbert Valerio Riedel <hvr@gnu.org> | 2014-01-11 00:51:29 +0100 |
---|---|---|
committer | Herbert Valerio Riedel <hvr@gnu.org> | 2014-01-11 00:51:29 +0100 |
commit | 069a49cc578fd8d7227e00af5e56b56c6a01efe6 (patch) | |
tree | c5a76d48d3585287b9773d9acafd842d80f323c9 | |
parent | 7647997ee86e5852345800d8cc742e8b86171852 (diff) | |
download | haskell-069a49cc578fd8d7227e00af5e56b56c6a01efe6.tar.gz |
Drop redundant formal parameter from TAKE1_UL1_RET2
This fixes the actual cause for #8661, i.e. a mismatch between the
actual arity of the Cmm implementation and the arity declared in the
foreign import statement.
This also reverts [a3878d17/integer-gmp] as the workaround isn't needed
anymore.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
-rw-r--r-- | libraries/integer-gmp/GHC/Integer/Type.lhs | 10 | ||||
-rw-r--r-- | libraries/integer-gmp/cbits/gmp-wrappers.cmm | 2 |
2 files changed, 2 insertions, 10 deletions
diff --git a/libraries/integer-gmp/GHC/Integer/Type.lhs b/libraries/integer-gmp/GHC/Integer/Type.lhs index ee112c5b40..731c5fcdf1 100644 --- a/libraries/integer-gmp/GHC/Integer/Type.lhs +++ b/libraries/integer-gmp/GHC/Integer/Type.lhs @@ -40,10 +40,7 @@ import GHC.Integer.GMP.Prim ( cmpInteger#, cmpIntegerInt#, plusInteger#, plusIntegerInt#, minusInteger#, minusIntegerInt#, timesInteger#, timesIntegerInt#, - quotRemInteger#, -#if SIZEOF_HSWORD == 8 - quotRemIntegerWord#, -#endif + quotRemInteger#, quotRemIntegerWord#, quotInteger#, quotIntegerWord#, remInteger#, remIntegerWord#, divModInteger#, divInteger#, modInteger#, gcdInteger#, gcdExtInteger#, gcdIntegerInt#, gcdInt#, divExactInteger#, @@ -227,7 +224,6 @@ quotRemInteger :: Integer -> Integer -> (# Integer, Integer #) quotRemInteger a@(S# INT_MINBOUND) b = quotRemInteger (toBig a) b quotRemInteger (S# i) (S# j) = case quotRemInt# i j of (# q, r #) -> (# S# q, S# r #) -#if SIZEOF_HSWORD == 8 quotRemInteger (J# s1 d1) (S# b) | isTrue# (b <# 0#) = case quotRemIntegerWord# s1 d1 (int2Word# (negateInt# b)) of (# s3, d3, s4, d4 #) -> let !q = smartJ# (negateInt# s3) d3 @@ -238,10 +234,6 @@ quotRemInteger (J# s1 d1) (S# b) (# s3, d3, s4, d4 #) -> let !q = smartJ# s3 d3 !r = smartJ# s4 d4 in (# q, r #) -#else --- temporary workaround on 32bit due to #8661 -quotRemInteger i1@(J# _ _) i2@(S# _) = quotRemInteger i1 (toBig i2) -#endif quotRemInteger i1@(S# _) i2@(J# _ _) = quotRemInteger (toBig i1) i2 quotRemInteger (J# s1 d1) (J# s2 d2) = case (quotRemInteger# s1 d1 s2 d2) of diff --git a/libraries/integer-gmp/cbits/gmp-wrappers.cmm b/libraries/integer-gmp/cbits/gmp-wrappers.cmm index 47de99528d..2c9bbd25fd 100644 --- a/libraries/integer-gmp/cbits/gmp-wrappers.cmm +++ b/libraries/integer-gmp/cbits/gmp-wrappers.cmm @@ -492,7 +492,7 @@ again: \ } #define GMP_TAKE1_UL1_RET2(name,mp_fun) \ -name (W_ ws1, P_ d1, W_ wul2, P_ d2) \ +name (W_ ws1, P_ d1, W_ wul2) \ { \ W_ mp_tmp1; \ W_ mp_result1; \ |