Add configure test for alloc_size attribute.
This commit is contained in:
parent
ae93d6bf36
commit
0b8f0bc0a4
11
configure.ac
11
configure.ac
@ -428,6 +428,17 @@ if test "x${je_cv_tls_model}" = "xyes" ; then
|
|||||||
else
|
else
|
||||||
AC_DEFINE([JEMALLOC_TLS_MODEL], [ ])
|
AC_DEFINE([JEMALLOC_TLS_MODEL], [ ])
|
||||||
fi
|
fi
|
||||||
|
dnl Check for alloc_size attribute support.
|
||||||
|
SAVED_CFLAGS="${CFLAGS}"
|
||||||
|
JE_CFLAGS_APPEND([-Werror])
|
||||||
|
JE_COMPILABLE([alloc_size attribute], [],
|
||||||
|
[#include <stdlib.h>
|
||||||
|
static void *foo(size_t size) __attribute__((alloc_size(1)));],
|
||||||
|
[je_cv_alloc_size])
|
||||||
|
CFLAGS="${SAVED_CFLAGS}"
|
||||||
|
if test "x${je_cv_alloc_size}" = "xyes" ; then
|
||||||
|
AC_DEFINE([JEMALLOC_HAVE_ATTR_ALLOC_SIZE], [ ])
|
||||||
|
fi
|
||||||
|
|
||||||
dnl Support optional additions to rpath.
|
dnl Support optional additions to rpath.
|
||||||
AC_ARG_WITH([rpath],
|
AC_ARG_WITH([rpath],
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/* Defined if __attribute__((...)) syntax is supported. */
|
/* Defined if __attribute__((...)) syntax is supported. */
|
||||||
#undef JEMALLOC_HAVE_ATTR
|
#undef JEMALLOC_HAVE_ATTR
|
||||||
|
|
||||||
|
/* Defined if alloc_size attribute is supported. */
|
||||||
|
#undef JEMALLOC_HAVE_ATTR_ALLOC_SIZE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define overrides for non-standard allocator-related functions if they are
|
* Define overrides for non-standard allocator-related functions if they are
|
||||||
* present on the system.
|
* present on the system.
|
||||||
|
@ -42,8 +42,13 @@
|
|||||||
# define JEMALLOC_EXPORT JEMALLOC_ATTR(visibility("default"))
|
# define JEMALLOC_EXPORT JEMALLOC_ATTR(visibility("default"))
|
||||||
# endif
|
# endif
|
||||||
# define JEMALLOC_ALIGNED(s) JEMALLOC_ATTR(aligned(s))
|
# define JEMALLOC_ALIGNED(s) JEMALLOC_ATTR(aligned(s))
|
||||||
# define JEMALLOC_ALLOC_SIZE(s) JEMALLOC_ATTR(alloc_size(s))
|
# ifdef JEMALLOC_HAVE_ATTR_ALLOC_SIZE
|
||||||
# define JEMALLOC_ALLOC_SIZE2(s1, s2) JEMALLOC_ATTR(alloc_size(s1, s2))
|
# define JEMALLOC_ALLOC_SIZE(s) JEMALLOC_ATTR(alloc_size(s))
|
||||||
|
# define JEMALLOC_ALLOC_SIZE2(s1, s2) JEMALLOC_ATTR(alloc_size(s1, s2))
|
||||||
|
# else
|
||||||
|
# define JEMALLOC_ALLOC_SIZE(s)
|
||||||
|
# define JEMALLOC_ALLOC_SIZE2(s1, s2)
|
||||||
|
# endif
|
||||||
# define JEMALLOC_NOINLINE JEMALLOC_ATTR(noinline)
|
# define JEMALLOC_NOINLINE JEMALLOC_ATTR(noinline)
|
||||||
# define JEMALLOC_NOTHROW JEMALLOC_ATTR(nothrow)
|
# define JEMALLOC_NOTHROW JEMALLOC_ATTR(nothrow)
|
||||||
# define JEMALLOC_SECTION(s) JEMALLOC_ATTR(section(s))
|
# define JEMALLOC_SECTION(s) JEMALLOC_ATTR(section(s))
|
||||||
|
Loading…
Reference in New Issue
Block a user