"Damm, Stephen" <stephen_d...@mentor.com> writes:

> I was able to narrow down the cause.  In GC 7.2.0 the GMP_LLIMB_MASK is wrong:
>
> =GCC 4.8.5=
> GMP_LIMB_BITS=64
> GMP_LLIMB_MASK=4294967295=0xFFFFFFFF
>
> =GCC 7.2.0=
> GMP_LIMB_BITS=64
> GMP_LLIMB_MASK=1=0x00000001
>
> From my understanding this might be a difference in how GCC 7.2.0 handles 
> unsigned longs vs GCC 4.8.5.  It also could be I am missing some vital 
> compiler flag for GMP.

Can you file a gcc bug? These constants are defined as

#define GMP_LIMB_BITS (sizeof(mp_limb_t) * CHAR_BIT)    /* 64, you say */

#define GMP_HLIMB_BIT ((mp_limb_t) 1 << (GMP_LIMB_BITS / 2))
#define GMP_LLIMB_MASK (GMP_HLIMB_BIT - 1)

I see no reasonable way that can end up defining GMP_LLIMB_MASK as 1.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.
_______________________________________________
gmp-bugs mailing list
gmp-bugs@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-bugs

Reply via email to