The not-gcc-or-earlier-than-gcc-2 version was the identity function
seems unnecessary as what C99 compiler would complain about a cast to
void?
#define NONNULL(...) __attribute__((nonnull(__VA_ARGS__)))
#define PURE __attribute__((pure))
#define ENDNULL __attribute__((sentinel))
#define NONNULL(...) __attribute__((nonnull(__VA_ARGS__)))
#define PURE __attribute__((pure))
#define ENDNULL __attribute__((sentinel))
-#define NMH_UNUSED(i) (void) i
#else
#define NORETURN
#define CHECK_PRINTF(fmt, arg)
#else
#define NORETURN
#define CHECK_PRINTF(fmt, arg)
#define NONNULL(...)
#define PURE
#define ENDNULL
#define NONNULL(...)
#define PURE
#define ENDNULL
#endif
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
#endif
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
#define CHECK_PRINTF(fmt, arg)
#endif
#define CHECK_PRINTF(fmt, arg)
#endif
+/* Silence the compiler's "unused variable" warning. */
+#define NMH_UNUSED(i) (void)i
+
/* DIM gives the number of elements in the one-dimensional array a. */
#define DIM(a) (sizeof (a) / sizeof (*(a)))
/* DIM gives the number of elements in the one-dimensional array a. */
#define DIM(a) (sizeof (a) / sizeof (*(a)))