diff options
author | pfg <pfg@FreeBSD.org> | 2018-01-21 23:27:47 +0300 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-07-30 11:47:57 +0300 |
commit | 271e856a49731edb88427f4a7aeb388825e366c3 (patch) | |
tree | ee8efe3783f94f30dd511b7cfaa4e858a9b26ebb /newlib/libc | |
parent | 1736bd300339aa54ddf5f179dbb40c4b19079dd7 (diff) |
Define a new __alloc_size2 attribute to complement the exiting support.
At least on GCC7 calling __alloc_size(x) twice is not equivalent to
calling using the attribute once with two arguments. The later is the
documented use in GCC documentation so add a new alloc_size(n, x)
alternative to cover for the few places where it is used: basically:
calloc(3), reallocarray(3) and mallocarray(9).
Submitted by: Mark Millard
MFC after: 3 days
Reference:
http://docs.freebsd.org/cgi/mid.cgi?F227842D-6BE2-4680-82E7-07906AF61CD7
Diffstat (limited to 'newlib/libc')
-rw-r--r-- | newlib/libc/include/sys/cdefs.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/newlib/libc/include/sys/cdefs.h b/newlib/libc/include/sys/cdefs.h index db870783e..7c2aa3bc1 100644 --- a/newlib/libc/include/sys/cdefs.h +++ b/newlib/libc/include/sys/cdefs.h @@ -250,8 +250,10 @@ #endif #if __GNUC_PREREQ__(4, 3) || __has_attribute(__alloc_size__) #define __alloc_size(x) __attribute__((__alloc_size__ x)) +#define __alloc_size2(n, x) __attribute__((__alloc_size__(n, x))) #else #define __alloc_size(x) +#define __alloc_size2(n, x) #endif #if __GNUC_PREREQ__(4, 9) || __has_attribute(__alloc_align__) #define __alloc_align(x) __attribute__((__alloc_align__ x)) |