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.
This commit is contained in:
Samuel Thibault 2018-01-29 22:49:45 +01:00
parent 2aadb70562
commit 406e7a0a47
2 changed files with 7 additions and 7 deletions

View File

@ -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>

View File

@ -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;