summaryrefslogtreecommitdiff
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)
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;