Muffle GCC warnings in various ways.
[u/mdw/catacomb] / math / mpx.c
index 1294124..37a8a4e 100644 (file)
@@ -661,6 +661,12 @@ done:;
  * Use;                Provides the dyadic boolean functions.
  */
 
+/* GCC complains about the generated code, so try to silence it. */
+#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+#  pragma GCC diagnostic push
+#  pragma GCC diagnostic ignored "-Wunused-but-set-variable"
+#endif
+
 #define MPX_BITBINOP(string)                                           \
                                                                        \
 void mpx_bit##string(mpw *dv, mpw *dvl, const mpw *av, const mpw *avl, \
@@ -679,6 +685,10 @@ void mpx_bit##string(mpw *dv, mpw *dvl, const mpw *av, const mpw *avl,     \
 
 MPX_DOBIN(MPX_BITBINOP)
 
+#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+#  pragma GCC diagnostic pop
+#endif
+
 void mpx_not(mpw *dv, mpw *dvl, const mpw *av, const mpw *avl)
 {
   MPX_SHRINK(av, avl);