]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
sys/cdefs.h: export __attribute_alloc_size__
authorMike Frysinger <vapier@gentoo.org>
Sun, 30 Dec 2012 18:07:07 +0000 (13:07 -0500)
committerMike Frysinger <vapier@gentoo.org>
Mon, 18 Feb 2013 22:18:57 +0000 (17:18 -0500)
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>
ChangeLog
include/programs/xmalloc.h
include/sys/cdefs.h
misc/sys/cdefs.h

index 3767bf1dee624a3c36b866c2578cc1ae925ce5f6..12559ab9dfaf51ab53e056b11d5ad93a2a8bba2f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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.
index 7f3aba5f37df28069cbee45caa501f41e91a7d49..f4278852bec8b41164db0ecd85c7acd78fa1e2bd 100644 (file)
 
 /* 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 */
index 71baa1a2d209a351f318bd4ec04fe5556cfc9fd8..524fe57a25c8040d48b5b53e3143c081f4b8690d 100644 (file)
@@ -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
index 7794e4e26d3a71973ee78c32b1c7d64c214fe4d6..f5f18e914cdad182c4965f2a90cb27070e11f7d6 100644 (file)
 # 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.  */