Skip to content
Snippets Groups Projects
Commit 13b4d0cd authored by Herbert Valerio Riedel's avatar Herbert Valerio Riedel :man_dancing:
Browse files

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's avatarHerbert Valerio Riedel <hvr@gnu.org>
parent 88083e73
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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; \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment