ni...@lysator.liu.se (Niels Möller) 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. The first thing to try might be gcc 7.4, which was the final gcc 7 release. -- Torbjörn Please encrypt, key id 0xC8601622 _______________________________________________ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs