From 44d1200ca47d1ffb5b20a9da183b1e0b25bfb8f7 Mon Sep 17 00:00:00 2001 From: Benny Baumann Date: Sun, 27 Jun 2021 12:44:01 +0200 Subject: Check for alloc_size attribute in configure.ac --- Macros.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'Macros.h') diff --git a/Macros.h b/Macros.h index 14249f3d..5e8891a4 100644 --- a/Macros.h +++ b/Macros.h @@ -37,8 +37,6 @@ #define ATTR_NONNULL __attribute__((nonnull)) #define ATTR_NORETURN __attribute__((noreturn)) #define ATTR_UNUSED __attribute__((unused)) -#define ATTR_ALLOC_SIZE1(a) __attribute__((alloc_size (a))) -#define ATTR_ALLOC_SIZE2(a, b) __attribute__((alloc_size (a, b))) #define ATTR_MALLOC __attribute__((malloc)) #else /* __GNUC__ */ @@ -47,12 +45,22 @@ #define ATTR_NONNULL #define ATTR_NORETURN #define ATTR_UNUSED -#define ATTR_ALLOC_SIZE1(a) -#define ATTR_ALLOC_SIZE2(a, b) #define ATTR_MALLOC #endif /* __GNUC__ */ +#ifdef HAVE_ATTR_ALLOC_SIZE + +#define ATTR_ALLOC_SIZE1(a) __attribute__((alloc_size (a))) +#define ATTR_ALLOC_SIZE2(a, b) __attribute__((alloc_size (a, b))) + +#else + +#define ATTR_ALLOC_SIZE1(a) +#define ATTR_ALLOC_SIZE2(a, b) + +#endif /* HAVE_ATTR_ALLOC_SIZE */ + // ignore casts discarding const specifier, e.g. // const char [] -> char * / void * // const char *[2]' -> char *const * -- cgit v1.2.3