This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 2/3] 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>

2012-12-30  Mike Frysinger  <vapier@gentoo.org>

	* include/sys/cdefs.h (__attribute_alloc_size): Delete.
	* locale/programs/programs.h: Change __attribute_alloc_size to
	__attribute_alloc_size__.
	* misc/sys/cdefs.h (__attribute_alloc_size__): Define.
---
 include/sys/cdefs.h        | 2 --
 locale/programs/programs.h | 6 +++---
 misc/sys/cdefs.h           | 8 ++++++++
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h
index 71baa1a..524fe57 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/locale/programs/programs.h b/locale/programs/programs.h
index 3e9a257..d1d70ab 100644
--- a/locale/programs/programs.h
+++ b/locale/programs/programs.h
@@ -24,11 +24,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 /* programs.h */
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index 1eee54e..62765fc 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -223,6 +223,14 @@
 # define __attribute_malloc__ /* Ignore */
 #endif
 
+/* Tell gcc where to find the size param for malloc funcs.  */
+#if __GNUC_PREREQ (4, 3)
+# define __attribute_alloc_size__(...) \
+     __attribute__ ((__alloc_size__ (__VA_ARGS__)))
+#else
+# define __attribute_alloc_size__(...) /* 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.  */
-- 
1.8.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]