From e9e9b245b98b8aeb8b8e898dce2b8c0f771602d6 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 19 Dec 1999 08:08:59 +0000 Subject: 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__. --- malloc/malloc.h | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'malloc/malloc.h') diff --git a/malloc/malloc.h b/malloc/malloc.h index 4f02b5a..78deff0 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 { -- cgit v1.1