crosstool-ng/patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch

34 lines
746 B
Diff
Raw Normal View History

diff --git a/mpz/remove.c b/mpz/remove.c
--- a/mpz/remove.c
+++ b/mpz/remove.c
@@ -23,7 +23,7 @@
unsigned long int
mpz_remove (mpz_ptr dest, mpz_srcptr src, mpz_srcptr f)
{
- mpz_t fpow[40]; /* inexhaustible...until year 2020 or so */
+ mpz_t fpow[GMP_LIMB_BITS]; /* Really MP_SIZE_T_BITS */
mpz_t x, rem;
unsigned long int pwr;
int p;
@@ -69,7 +69,7 @@
mpz_set (dest, x);
}
- pwr = (1 << p) - 1;
+ pwr = (1L << p) - 1;
mpz_clear (fpow[p]);
diff --git a/mpz/remove.c b/mpz/remove.c
--- a/mpz/remove.c
+++ b/mpz/remove.c
@@ -80,7 +80,7 @@
mpz_tdiv_qr (x, rem, dest, fpow[p]);
if (SIZ (rem) == 0)
{
- pwr += 1 << p;
+ pwr += 1L << p;
mpz_set (dest, x);
}
mpz_clear (fpow[p]);