integer-gmp: mpn_gcd_1 allocate one Word on stack instead of 'sizeof (__mpz_struct)'
authorSergei Trofimovich <slyfox@gentoo.org>
Wed, 13 Mar 2013 20:41:21 +0000 (23:41 +0300)
committerIan Lynagh <ian@well-typed.com>
Sun, 17 Mar 2013 20:54:17 +0000 (20:54 +0000)
gmp.h defines 'mpn_gcd_1' as following:
    mp_limb_t mpn_gcd_1 (mp_srcptr /* aka 'mp_limb_t *'  */, mp_size_t, mp_limb_t);

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
libraries/integer-gmp/cbits/gmp-wrappers.cmm

index 0390eb5..8a201f1 100644 (file)
@@ -394,9 +394,9 @@ integer_cmm_gcdIntzh (W_ int1, W_ int2)
     W_ r;
     W_ mp_tmp_w;
 
-    STK_CHK_GEN_N (1 * SIZEOF_MP_INT);
+    STK_CHK_GEN_N (1 * SIZEOF_W);
 
-    mp_tmp_w = Sp - 1 * SIZEOF_MP_INT;
+    mp_tmp_w = Sp - 1 * SIZEOF_W;
 
     W_[mp_tmp_w] = int1;
     (r) = ccall __gmpn_gcd_1(mp_tmp_w "ptr", 1, int2);