diff options
author | Mike Frysinger <vapier@gentoo.org> | 2012-12-30 13:07:07 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2013-02-18 17:18:57 -0500 |
commit | 2f62b9ee0c086f72ded8abfe84c6d5ab86c49ab1 (patch) | |
tree | 67367e2cac7b1f1263ee90edcb7f3388df51bec4 | |
parent | 6ff444c4184433586a8879376bd5006eb793499a (diff) | |
download | glibc-2f62b9ee0c086f72ded8abfe84c6d5ab86c49ab1.tar.gz |
sys/cdefs.h: export __attribute_alloc_size__
Since we want to use this in installed headers, move it to the installed
sys/cdefs.h. This requires a slight tweaking of the name (add trailing
underscores).
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | include/programs/xmalloc.h | 6 | ||||
-rw-r--r-- | include/sys/cdefs.h | 2 | ||||
-rw-r--r-- | misc/sys/cdefs.h | 9 |
4 files changed, 19 insertions, 5 deletions
@@ -1,5 +1,12 @@ 2013-02-18 Mike Frysinger <vapier@gentoo.org> + * include/programs/xmalloc.h: Change __attribute_alloc_size to + __attribute_alloc_size__. + * include/sys/cdefs.h (__attribute_alloc_size): Macro removed. + * misc/sys/cdefs.h (__attribute_alloc_size__): New macro. + +2013-02-18 Mike Frysinger <vapier@gentoo.org> + * include/programs/xmalloc.h: New file. * catgets/gencat.c: Include it. (xmalloc, xcalloc, xrealloc, xstrdup): Don't declare them. diff --git a/include/programs/xmalloc.h b/include/programs/xmalloc.h index 7f3aba5f37..f4278852be 100644 --- a/include/programs/xmalloc.h +++ b/include/programs/xmalloc.h @@ -23,11 +23,11 @@ /* Prototypes for a few program-wide used functions. */ extern void *xmalloc (size_t n) - __attribute_malloc__ __attribute_alloc_size (1); + __attribute_malloc__ __attribute_alloc_size__ ((1)); extern void *xcalloc (size_t n, size_t s) - __attribute_malloc__ __attribute_alloc_size (1, 2); + __attribute_malloc__ __attribute_alloc_size__ ((1, 2)); extern void *xrealloc (void *o, size_t n) - __attribute_malloc__ __attribute_alloc_size (2); + __attribute_malloc__ __attribute_alloc_size__ ((2)); extern char *xstrdup (const char *) __attribute_malloc__; #endif /* xmalloc.h */ diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h index 71baa1a2d2..524fe57a25 100644 --- a/include/sys/cdefs.h +++ b/include/sys/cdefs.h @@ -13,8 +13,6 @@ extern void __chk_fail (void) __attribute__ ((__noreturn__)); libc_hidden_proto (__chk_fail) rtld_hidden_proto (__chk_fail) - -# define __attribute_alloc_size(...) __attribute__ ((alloc_size (__VA_ARGS__))) #endif #endif diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h index 7794e4e26d..f5f18e914c 100644 --- a/misc/sys/cdefs.h +++ b/misc/sys/cdefs.h @@ -214,6 +214,15 @@ # define __attribute_malloc__ /* Ignore */ #endif +/* Tell the compiler which arguments to an allocation function + indicate the size of the allocation. */ +#if __GNUC_PREREQ (4, 3) +# define __attribute_alloc_size__(params) \ + __attribute__ ((__alloc_size__ params)) +#else +# define __attribute_alloc_size__(params) /* Ignore. */ +#endif + /* At some point during the gcc 2.96 development the `pure' attribute for functions was introduced. We don't want to use it unconditionally (although this would be possible) since it generates warnings. */ |