Vincent Lefevre <vinc...@vinc17.net> writes: >> 1. Is the void cast really needed? Corresponding macros in gmp-impl.h >> are defined like >> >> #if WANT_ASSERT >> #define ASSERT_CARRY(expr) ASSERT_ALWAYS ((expr) != 0) >> #define ASSERT_NOCARRY(expr) ASSERT_ALWAYS ((expr) == 0) >> #else >> #define ASSERT_CARRY(expr) (expr) >> #define ASSERT_NOCARRY(expr) (expr) >> #endif > > I'd say that a cast to void is better in order to ensure that > ASSERT_CARRY(expr) and ASSERT_NOCARRY(expr) have type void > whether WANT_ASSERT is defined or not, so that type issues > could be detected more easily.
I see, it would matter for invalid use such as mp_limb_t cy = ASSERT_NOCARRY(...); Leaving unchanged for now. >> 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) > > I prefer this patch. I pushed this version to the repo. Regards, /Niels -- Niels Möller. PGP key CB4962D070D77D7FCB8BA36271D8F1FF368C6677. Internet email is subject to wholesale government surveillance. _______________________________________________ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs