+/* --- Warning damage control --- *
+ *
+ * GCC (at least) isn't clever enough to work out that the division in
+ * @MP_FROMINT@ is actually safe (since it will only be executed if @_i >
+ * MPW_MAX@, which would prove that @(type)MPW_MAX + 1 != 0@). So here's
+ * some machinery to shut it up.
+ */
+
+#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+# define MP_FROMINT_MUFFLE_WARNING(x) do { \
+ _Pragma("GCC diagnostic push") \
+ _Pragma("GCC diagnostic ignored \"-Wdiv-by-zero\"") \
+ x \
+ _Pragma("GCC diagnostic pop") \
+ } while (0)
+#else
+# define MP_FROMINT_MUFFLE_WARNING(x) do { x } while (0)
+#endif
+