On 4/14/22 22:29, Niels Möller wrote:
1. Is the void cast really needed?
Yes, I think so. Various compilers complain if a statement 'E;' has an expression E without side effects. The standard way to pacify them is to cast E to void. See, for example, <https://cs61.seas.harvard.edu/site/2019/Patterns/>.
mini-gmp.c is different from gmp-impl.h, because it's intended to be used by lots of downstream projects which may use compilers that gmp-impl.h does not use. This may help to explain why it needs casts that gmp-impl.h doesn't need.
Alternative patch: --- a/mini-gmp/mini-gmp.c Tue Feb 15 09:18:40 2022 +0100 +++ b/mini-gmp/mini-gmp.c Fri Apr 15 07:20:40 2022 +0200 @@ -90,6 +90,7 @@ see https://www.gnu.org/licenses/. */ #define gmp_assert_nocarry(x) do { \ mp_limb_t __cy = (x); \ assert (__cy == 0); \ + (void) __cy; \ } while (0)
Yes, thanks, that should work too. _______________________________________________ gmp-bugs mailing list [email protected] https://gmplib.org/mailman/listinfo/gmp-bugs
