Use the shiny new `mLib' warning-control macros.
[u/mdw/catacomb] / symm / square.c
index 73b22bb..888d495 100644 (file)
@@ -31,6 +31,7 @@
 #include <stdio.h>
 
 #include <mLib/bits.h>
+#include <mLib/macros.h>
 
 #include "blkc.h"
 #include "gcipher.h"
@@ -94,20 +95,11 @@ void square_init(square_ctx *k, const void *buf, size_t sz)
 
   /* --- GCC complains about an out-of-bounds subscript here --- *
    *
-   * This is impossible.  Thanks to @KSZ_ASSERT@, we know that @sz <= 16@ and
-   * hence @i <= nk <= 4@; but @SQUARE_KWORDS == 36@.
+   * This is impossible.  Thanks to @KSZ_ASSERT@, we know that @4 <= sz <=
+   * 16@ and hence @1 <= i <= nk <= 4@; but @SQUARE_KWORDS == 36@.
    */
 
-#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
-#  pragma GCC diagnostic push
-#  pragma GCC diagnostic ignored "-Warray-bounds"
-#endif
-
-  ww = kk[i - 1];
-
-#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
-#  pragma GCC diagnostic pop
-#endif
+  ww = MUFFLE_WARNINGS_EXPR(GCC_WARNING("-Warray-bounds"), kk[i - 1]);
 
   /* --- Expand this material to fill the rest of the table --- */