aboutsummaryrefslogtreecommitdiff
path: root/malloc
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-12-19 08:08:59 +0000
committerUlrich Drepper <drepper@redhat.com>1999-12-19 08:08:59 +0000
commite9e9b245b98b8aeb8b8e898dce2b8c0f771602d6 (patch)
tree8cedb8e3ff9898a02990d88802319f68e99ac268 /malloc
parent778c59c850879b2ffc7a396cecfa5a5ad68a40e6 (diff)
downloadglibc-e9e9b245b98b8aeb8b8e898dce2b8c0f771602d6.tar
glibc-e9e9b245b98b8aeb8b8e898dce2b8c0f771602d6.tar.gz
glibc-e9e9b245b98b8aeb8b8e898dce2b8c0f771602d6.tar.bz2
glibc-e9e9b245b98b8aeb8b8e898dce2b8c0f771602d6.zip
Update.
* misc/sys/cdefs.h: Define __attribute_malloc__ according to available gcc version. * string/string.h: Mark strdup, __strdup, and strndup with __attribute_malloc__. * stdlib/stdlib.h: Make malloc, calloc, realloc, and valloc with __attribute_malloc__. * malloc/malloc.h: Make malloc, calloc, realloc, valloc, pvallc, __morecore, and __default_morecore with __attribute_malloc__. Provide default definition for __attribute_malloc__. * libio/stdio.h: Make tempnam with __attribute_malloc__.
Diffstat (limited to 'malloc')
-rw-r--r--malloc/malloc.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/malloc/malloc.h b/malloc/malloc.h
index 4f02b5a093..78deff0738 100644
--- a/malloc/malloc.h
+++ b/malloc/malloc.h
@@ -55,6 +55,8 @@
/* Used by GNU libc internals. */
# define __malloc_size_t size_t
# define __malloc_ptrdiff_t ptrdiff_t
+#else
+# define __attribute_malloc__
#endif
#ifdef __GNUC__
@@ -114,14 +116,17 @@ extern void ptmalloc_init __MALLOC_P ((void));
#endif
/* Allocate SIZE bytes of memory. */
-extern __malloc_ptr_t malloc __MALLOC_P ((size_t __size));
+extern __malloc_ptr_t malloc __MALLOC_P ((size_t __size)) __attribute_malloc__;
/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */
-extern __malloc_ptr_t calloc __MALLOC_P ((size_t __nmemb, size_t __size));
+extern __malloc_ptr_t calloc __MALLOC_P ((size_t __nmemb, size_t __size))
+ __attribute_malloc__;
/* Re-allocate the previously allocated block in __ptr, making the new
block SIZE bytes long. */
-extern __malloc_ptr_t realloc __MALLOC_P ((__malloc_ptr_t __ptr, size_t __size));
+extern __malloc_ptr_t realloc __MALLOC_P ((__malloc_ptr_t __ptr,
+ size_t __size))
+ __attribute_malloc__;
/* Free a block allocated by `malloc', `realloc' or `calloc'. */
extern void free __MALLOC_P ((__malloc_ptr_t __ptr));
@@ -133,18 +138,21 @@ extern void cfree __MALLOC_P ((__malloc_ptr_t __ptr));
extern __malloc_ptr_t memalign __MALLOC_P ((size_t __alignment, size_t __size));
/* Allocate SIZE bytes on a page boundary. */
-extern __malloc_ptr_t valloc __MALLOC_P ((size_t __size));
+extern __malloc_ptr_t valloc __MALLOC_P ((size_t __size)) __attribute_malloc__;
/* Equivalent to valloc(minimum-page-that-holds(n)), that is, round up
__size to nearest pagesize. */
-extern __malloc_ptr_t pvalloc __MALLOC_P ((size_t __size));
+extern __malloc_ptr_t pvalloc __MALLOC_P ((size_t __size))
+ __attribute_malloc__;
/* Underlying allocation function; successive calls should return
contiguous pieces of memory. */
-extern __malloc_ptr_t (*__morecore) __MALLOC_PMT ((ptrdiff_t __size));
+extern __malloc_ptr_t (*__morecore) __MALLOC_PMT ((ptrdiff_t __size))
+ __attribute_malloc__;
/* Default value of `__morecore'. */
-extern __malloc_ptr_t __default_morecore __MALLOC_P ((ptrdiff_t __size));
+extern __malloc_ptr_t __default_morecore __MALLOC_P ((ptrdiff_t __size))
+ __attribute_malloc__;
/* SVID2/XPG mallinfo structure */
struct mallinfo {