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

Reply via email to