about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-01-29 22:49:45 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-01-29 23:00:17 +0100
commit406e7a0a47110adbf79326c8a0bda5ffac3e0f10 (patch)
tree018657c3ab95f19aeb2fcc4a772f362676d3d26e
parent2aadb70562feae948ed093c86808e7331c5bc6bd (diff)
downloadglibc-406e7a0a47110adbf79326c8a0bda5ffac3e0f10.tar.gz
glibc-406e7a0a47110adbf79326c8a0bda5ffac3e0f10.tar.xz
glibc-406e7a0a47110adbf79326c8a0bda5ffac3e0f10.zip
malloc: Use assert.h's assert macro
This avoids assert definition conflicts if some of the headers used by
malloc.c happens to include assert.h.  Malloc still needs a malloc-avoiding
implementation, which we get by redirecting __assert_fail to malloc's
__malloc_assert.

	* malloc/malloc.c: Include <assert.h>.
	(assert): Do not define.
	[!defined NDEBUG] (__assert_fail): Define to __malloc_assert.
-rw-r--r--ChangeLog3
-rw-r--r--malloc/malloc.c11
2 files changed, 7 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 3060b73b16..579c4f306b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,6 +23,9 @@
 	|| to respect codestyle.
 	* libio/tst-memstream3.c (_FWRITE): Rename to FWRITE_FUNC.
 	(do_test_bz20181): Rename accordingly.
+	* malloc/malloc.c: Include <assert.h>.
+	(assert): Do not define.
+	[!defined NDEBUG] (__assert_fail): Define to __malloc_assert.
 
 2018-01-29  Darius Rad  <darius@bluespec.com>
 
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 7889fb1961..f8e7250f70 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -223,6 +223,7 @@
 #include <unistd.h>
 #include <stdio.h>    /* needed for malloc_stats */
 #include <errno.h>
+#include <assert.h>
 
 #include <shlib-compat.h>
 
@@ -278,13 +279,9 @@
 #define MALLOC_DEBUG 0
 #endif
 
-#ifdef NDEBUG
-# define assert(expr) ((void) 0)
-#else
-# define assert(expr) \
-  ((expr)								      \
-   ? ((void) 0)								      \
-   : __malloc_assert (#expr, __FILE__, __LINE__, __func__))
+#ifndef NDEBUG
+# define __assert_fail(assertion, file, line, function)			\
+	 __malloc_assert(assertion, file, line, function)
 
 extern const char *__progname;