X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/777a83b9305f79b18aa1b1e7ef524d0ddf5890cb..90f3228dce874d9263495c51cf906f51f2fadcfd:/h/mh.h diff --git a/h/mh.h b/h/mh.h index 2723a42a..6b4466bf 100644 --- a/h/mh.h +++ b/h/mh.h @@ -40,9 +40,14 @@ typedef unsigned char boolean; /* not int so we can pack in a structure */ /* If we're using gcc then tell it extra information so it can do more * compile-time checks. */ #if __GNUC__ > 2 -#define NORETURN __attribute__((__noreturn__)) -#define CHECK_PRINTF(fmt, arg) __attribute__((format(printf, fmt, arg))) +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) #define ALLOC_SIZE(...) __attribute__((alloc_size(__VA_ARGS__))) +#define CHECK_PRINTF(fmt, arg) __attribute__((format(printf, fmt, arg))) +#else /* gcc < 4.3.0 */ +#define ALLOC_SIZE(...) +#define CHECK_PRINTF(fmt, arg) +#endif /* gcc < 4.3.0 */ +#define NORETURN __attribute__((__noreturn__)) #define CONST __attribute__((const)) #define MALLOC __attribute__((malloc)) #define NONNULL(...) __attribute__((nonnull(__VA_ARGS__)))