X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=h%2Fmh.h;h=88bcde551643b1277c65d667a070a612f2fc6ccd;hb=b97368925e31edcfc6f69366d7b725e6a4d9881e;hp=649582d3bca6d1abf244de14ce5159151da33698;hpb=7af26a5bed6efce10f3e5dd8cd7520420453c4f2;p=mmh diff --git a/h/mh.h b/h/mh.h index 649582d..88bcde5 100644 --- a/h/mh.h +++ b/h/mh.h @@ -38,8 +38,26 @@ typedef unsigned char boolean; /* not int so we can pack in a structure */ */ #if __GNUC__ > 2 # define NORETURN __attribute__((__noreturn__)) +# define CONST __attribute__((const)) +# define MALLOC __attribute__((malloc)) +# define NONNULL(...) __attribute__((nonnull(__VA_ARGS__))) +# define PURE __attribute__((pure)) +# define ENDNULL __attribute__((sentinel)) #else # define NORETURN +# define CONST +# define MALLOC +# define NONNULL(...) +# define PURE +# define ENDNULL +#endif + +#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 +# define ALLOC_SIZE(...) +# define CHECK_PRINTF(fmt, arg) #endif /*