diff options
author | pfg <pfg@FreeBSD.org> | 2018-01-21 20:27:47 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-07-30 10:47:57 +0200 |
commit | 271e856a49731edb88427f4a7aeb388825e366c3 (patch) | |
tree | ee8efe3783f94f30dd511b7cfaa4e858a9b26ebb | |
parent | 1736bd300339aa54ddf5f179dbb40c4b19079dd7 (diff) | |
download | cygnal-271e856a49731edb88427f4a7aeb388825e366c3.tar.gz cygnal-271e856a49731edb88427f4a7aeb388825e366c3.tar.bz2 cygnal-271e856a49731edb88427f4a7aeb388825e366c3.zip |
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
-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)) |