patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Jun 25 23:33:01 2014 +0200 (2014-06-25)
changeset 3325 069f43a215cc
permissions -rw-r--r--
all: fix wildcard to work with make-4.x

In make-3.8x, the $(wildacrd) function would sort the entries,
while in make-4.x, it would just return the entries in any
unpredictable order [*]

Use the $(sort) function to get reproducible behaviour.

[*] Well, most probably the roder the entries appear when read
from readdir()

Reported-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
yann@1440
     1
diff --git a/mpz/remove.c b/mpz/remove.c
yann@1440
     2
--- a/mpz/remove.c
yann@1440
     3
+++ b/mpz/remove.c
yann@1440
     4
@@ -23,7 +23,7 @@
yann@1440
     5
 unsigned long int
yann@1440
     6
 mpz_remove (mpz_ptr dest, mpz_srcptr src, mpz_srcptr f)
yann@1440
     7
 {
yann@1440
     8
-  mpz_t fpow[40];		/* inexhaustible...until year 2020 or so */
yann@1440
     9
+  mpz_t fpow[GMP_LIMB_BITS];		/* Really MP_SIZE_T_BITS */
yann@1440
    10
   mpz_t x, rem;
yann@1440
    11
   unsigned long int pwr;
yann@1440
    12
   int p;
yann@1440
    13
@@ -69,7 +69,7 @@
yann@1440
    14
       mpz_set (dest, x);
yann@1440
    15
     }
yann@1440
    16
 
yann@1440
    17
-  pwr = (1 << p) - 1;
yann@1440
    18
+  pwr = (1L << p) - 1;
yann@1440
    19
 
yann@1440
    20
   mpz_clear (fpow[p]);
yann@1440
    21
 
yann@1440
    22
diff --git a/mpz/remove.c b/mpz/remove.c
yann@1440
    23
--- a/mpz/remove.c
yann@1440
    24
+++ b/mpz/remove.c
yann@1440
    25
@@ -80,7 +80,7 @@
yann@1440
    26
       mpz_tdiv_qr (x, rem, dest, fpow[p]);
yann@1440
    27
       if (SIZ (rem) == 0)
yann@1440
    28
 	{
yann@1440
    29
-	  pwr += 1 << p;
yann@1440
    30
+	  pwr += 1L << p;
yann@1440
    31
 	  mpz_set (dest, x);
yann@1440
    32
 	}
yann@1440
    33
       mpz_clear (fpow[p]);