From b97368925e31edcfc6f69366d7b725e6a4d9881e Mon Sep 17 00:00:00 2001 From: Philipp Takacs Date: Thu, 21 Sep 2023 12:18:34 +0200 Subject: [PATCH] add some gcc hint defines The defines can help the compiler to produce better warnings and errors. This is manual cherrypicked from nmh --- h/mh.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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 /* -- 1.7.10.4