From 1c3e748ef3e76af3f8c12ac614e1bfac0ae46ea8 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 19 Jul 2007 17:05:14 +0000 Subject: [BZ #4792] * stdlib/stdlib.h (realloc): Remove __attribute_malloc__. * malloc/malloc.h (realloc): Likewise. 2007-07-16 Jakub Jelinek --- ChangeLog | 6 ++++++ malloc/malloc.h | 8 ++++++-- stdlib/stdlib.h | 5 ++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0529d065ea..c68a43d62e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-07-16 Jakub Jelinek + + [BZ #4792] + * stdlib/stdlib.h (realloc): Remove __attribute_malloc__. + * malloc/malloc.h (realloc): Likewise. + 2007-07-16 Jakub Jelinek * libio/iopopen.c (_IO_new_proc_open): Don't close child_std_end diff --git a/malloc/malloc.h b/malloc/malloc.h index 1340aa15bc..b6d7a8afaf 100644 --- a/malloc/malloc.h +++ b/malloc/malloc.h @@ -1,5 +1,6 @@ /* Prototypes and definition for malloc implementation. - Copyright (C) 1996,97,99,2000,2002-2004,2005 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1999, 2000, 2002-2004, 2005, 2007 + 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 @@ -54,8 +55,11 @@ extern void *calloc __MALLOC_P ((size_t __nmemb, size_t __size)) /* Re-allocate the previously allocated block in __ptr, making the new block SIZE bytes long. */ +/* __attribute_malloc__ is not used, because if realloc returns + the same pointer that was passed to it, aliasing needs to be allowed + between objects pointed by the old and new pointers. */ extern void *realloc __MALLOC_P ((void *__ptr, size_t __size)) - __attribute_malloc__ __attribute_warn_unused_result__; + __attribute_warn_unused_result__; /* Free a block allocated by `malloc', `realloc' or `calloc'. */ extern void free __MALLOC_P ((void *__ptr)); diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index aa5f514caa..dd78744539 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -597,8 +597,11 @@ __END_NAMESPACE_STD __BEGIN_NAMESPACE_STD /* Re-allocate the previously allocated block in PTR, making the new block SIZE bytes long. */ +/* __attribute_malloc__ is not used, because if realloc returns + the same pointer that was passed to it, aliasing needs to be allowed + between objects pointed by the old and new pointers. */ extern void *realloc (void *__ptr, size_t __size) - __THROW __attribute_malloc__ __attribute_warn_unused_result__; + __THROW __attribute_warn_unused_result__; /* Free a block allocated by `malloc', `realloc' or `calloc'. */ extern void free (void *__ptr) __THROW; __END_NAMESPACE_STD -- cgit v1.2.3-65-gdbad