aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--malloc/malloc.h17
-rw-r--r--misc/sys/cdefs.h13
-rw-r--r--stdlib/stdlib.h2
4 files changed, 27 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 774302a891..402748a5d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 753539e7b0..88a0fba729 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 6ac21013cc..8d529bfadc 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 e1d60d7619..4a1571e7db 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