diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | malloc/malloc.h | 17 | ||||
-rw-r--r-- | misc/sys/cdefs.h | 13 | ||||
-rw-r--r-- | stdlib/stdlib.h | 2 |
4 files changed, 27 insertions, 11 deletions
@@ -1,5 +1,11 @@ 2005-01-07 Ulrich Drepper <drepper@redhat.com> + * misc/sys/cdefs.h (__attribute_warn_unused_result__): Define. + * stdlib/stdlib.h: Make realloc with + __attribute_warn_unused_result__ instead of __wur. + * malloc/malloc.h: Add __wur and __attribute_warn_unused_result__ + markers as in <stdlib.h>. + * libio/stdio.h: Remove __wur from rename and remove. * posix/unistd.h: Remove __wur from dup2. diff --git a/malloc/malloc.h b/malloc/malloc.h index 753539e..88a0fba 100644 --- a/malloc/malloc.h +++ b/malloc/malloc.h @@ -1,5 +1,5 @@ /* Prototypes and definition for malloc implementation. - Copyright (C) 1996,97,99,2000,2002,2003,2004 Free Software Foundation, Inc. + Copyright (C) 1996,97,99,2000,2002-2004,2005 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -117,17 +117,18 @@ extern "C" { #endif /* Allocate SIZE bytes of memory. */ -extern __malloc_ptr_t malloc __MALLOC_P ((size_t __size)) __attribute_malloc__; +extern __malloc_ptr_t malloc __MALLOC_P ((size_t __size)) + __attribute_malloc__ __wur; /* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */ extern __malloc_ptr_t calloc __MALLOC_P ((size_t __nmemb, size_t __size)) - __attribute_malloc__; + __attribute_malloc__ __wur; /* 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)) - __attribute_malloc__; + __attribute_malloc__ __attribute_warn_unused_result__; /* Free a block allocated by `malloc', `realloc' or `calloc'. */ extern void free __MALLOC_P ((__malloc_ptr_t __ptr)); @@ -136,15 +137,17 @@ extern void free __MALLOC_P ((__malloc_ptr_t __ptr)); extern void cfree __MALLOC_P ((__malloc_ptr_t __ptr)); /* Allocate SIZE bytes allocated to ALIGNMENT bytes. */ -extern __malloc_ptr_t memalign __MALLOC_P ((size_t __alignment, size_t __size)); +extern __malloc_ptr_t memalign __MALLOC_P ((size_t __alignment, size_t __size)) + __attribute_malloc__ __wur; /* Allocate SIZE bytes on a page boundary. */ -extern __malloc_ptr_t valloc __MALLOC_P ((size_t __size)) __attribute_malloc__; +extern __malloc_ptr_t valloc __MALLOC_P ((size_t __size)) + __attribute_malloc__ __wur; /* 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)) - __attribute_malloc__; + __attribute_malloc__ __wur; /* Underlying allocation function; successive calls should return contiguous pieces of memory. */ diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h index 6ac2101..8d529bf 100644 --- a/misc/sys/cdefs.h +++ b/misc/sys/cdefs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2001, 2002, 2004 Free Software Foundation, Inc. +/* Copyright (C) 1992-2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -257,9 +257,16 @@ /* If fortification mode, we warn about unused results of certain function calls which can lead to problems. */ -#if __GNUC_PREREQ (3,4) && __USE_FORTIFY_LEVEL > 0 -# define __wur __attribute__ ((__warn_unused_result__)) +#if __GNUC_PREREQ (3,4) +# define __attribute_warn_unused_result__ \ + __attribute__ ((__warn_unused_result__)) +# if __USE_FORTIFY_LEVEL > 0 +# define __wur __attribute_warn_unused_result__ +# endif #else +# define __attribute_warn_unused_result__ /* empty */ +#endif +#ifndef __wur # define __wur /* Ignore */ #endif diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index e1d60d7..4a1571e 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -596,7 +596,7 @@ __BEGIN_NAMESPACE_STD /* Re-allocate the previously allocated block in PTR, making the new block SIZE bytes long. */ extern void *realloc (void *__ptr, size_t __size) - __THROW __attribute_malloc__ __wur; + __THROW __attribute_malloc__ __attribute_warn_unused_result__; /* Free a block allocated by `malloc', `realloc' or `calloc'. */ extern void free (void *__ptr) __THROW; __END_NAMESPACE_STD |