Warning when compiling on NetBSD/sparc64
Niels Möller
nisse at lysator.liu.se
Sat Nov 30 19:29:11 UTC 2013
Marc Glisse <marc.glisse at inria.fr> writes:
> udiv_qr_3by2 uses add_ssaaaa which has some ">> 32" on sparc64.
So it must be that shift, then (or sub_ddmmss).
But I have difficulty spotting any 32-bit values. All involved variables
seems to be typed as mp_limb_t, and CNST_LIMB(0) includes an explicit
cast to mp_limb_t. And configure says that mp_limb_t is 8 bytes, as it
should be for a 64-bit build.
It seems CNST_LIMB is important, since in divrem_2.c there are two
almost identical invocations on udiv_qr_3by2, and the compiler complains
only on the second one. Which differs only in CNST_LIMB(0) passed
instead of n0.
But I hope the compiler (gcc, unknown version) doesn't complain on
expressions like
((unsigned long long) 0LL) >> 32
> A preprocessed version of divrem_2.c would help (the relevant line is
> likely to be huge, please insert line breaks in it and compile to see
> where the error is precisely).
That would definitely be helpful.
Regards,
/Niels
--
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.
More information about the gmp-bugs
mailing list