Pacify GCC on C library without glibc API
Without this change, with --enable-gcc-warnings GCC would complain “error: redundant redeclaration of ‘aligned_alloc’”. * configure.ac: Simplify aligned_alloc testing. * src/alloc.c (aligned_alloc): Don’t use if DARWIN_OS, since the simplified configure.ac no longer checks for that. Don’t declare if HAVE_ALIGNED_ALLOC. Correct misspelling of HAVE_ALIGNED_ALLOC in ifdef.
This commit is contained in:
parent
71b20b31c8
commit
93b144bbaa
2 changed files with 8 additions and 11 deletions
|
@ -3806,14 +3806,8 @@ getpwent endpwent getgrent endgrent \
|
||||||
cfmakeraw cfsetspeed copysign __executable_start log2)
|
cfmakeraw cfsetspeed copysign __executable_start log2)
|
||||||
LIBS=$OLD_LIBS
|
LIBS=$OLD_LIBS
|
||||||
|
|
||||||
dnl No need to check for aligned_alloc and posix_memalign if using
|
dnl No need to check for posix_memalign if aligned_alloc works.
|
||||||
dnl gmalloc.o, as it supplies them, unless we're using hybrid_malloc.
|
|
||||||
dnl Don't use these functions on Darwin as they are incompatible with
|
|
||||||
dnl unexmacosx.c.
|
|
||||||
if (test -z "$GMALLOC_OBJ" || test "$hybrid_malloc" = yes) \
|
|
||||||
&& test "$opsys" != darwin; then
|
|
||||||
AC_CHECK_FUNCS([aligned_alloc posix_memalign], [break])
|
AC_CHECK_FUNCS([aligned_alloc posix_memalign], [break])
|
||||||
fi
|
|
||||||
|
|
||||||
dnl Cannot use AC_CHECK_FUNCS
|
dnl Cannot use AC_CHECK_FUNCS
|
||||||
AC_CACHE_CHECK([for __builtin_unwind_init],
|
AC_CACHE_CHECK([for __builtin_unwind_init],
|
||||||
|
|
|
@ -1105,15 +1105,18 @@ lisp_free (void *block)
|
||||||
|
|
||||||
/* Use aligned_alloc if it or a simple substitute is available.
|
/* Use aligned_alloc if it or a simple substitute is available.
|
||||||
Address sanitization breaks aligned allocation, as of gcc 4.8.2 and
|
Address sanitization breaks aligned allocation, as of gcc 4.8.2 and
|
||||||
clang 3.3 anyway. */
|
clang 3.3 anyway. Aligned allocation is incompatible with
|
||||||
|
unexmacosx.c, so don't use it on Darwin. */
|
||||||
|
|
||||||
#if ! ADDRESS_SANITIZER
|
#if ! ADDRESS_SANITIZER && ! DARWIN_OS
|
||||||
# if !defined SYSTEM_MALLOC && !defined DOUG_LEA_MALLOC && !defined HYBRID_MALLOC
|
# if !defined SYSTEM_MALLOC && !defined DOUG_LEA_MALLOC && !defined HYBRID_MALLOC
|
||||||
# define USE_ALIGNED_ALLOC 1
|
# define USE_ALIGNED_ALLOC 1
|
||||||
|
# ifndef HAVE_ALIGNED_ALLOC
|
||||||
/* Defined in gmalloc.c. */
|
/* Defined in gmalloc.c. */
|
||||||
void *aligned_alloc (size_t, size_t);
|
void *aligned_alloc (size_t, size_t);
|
||||||
|
# endif
|
||||||
# elif defined HYBRID_MALLOC
|
# elif defined HYBRID_MALLOC
|
||||||
# if defined ALIGNED_ALLOC || defined HAVE_POSIX_MEMALIGN
|
# if defined HAVE_ALIGNED_ALLOC || defined HAVE_POSIX_MEMALIGN
|
||||||
# define USE_ALIGNED_ALLOC 1
|
# define USE_ALIGNED_ALLOC 1
|
||||||
# define aligned_alloc hybrid_aligned_alloc
|
# define aligned_alloc hybrid_aligned_alloc
|
||||||
/* Defined in gmalloc.c. */
|
/* Defined in gmalloc.c. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue