X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/d7913476c462b480f11e14b6829942f2691c6c01..c0ad8bf3c2fb46f001bb24ac98a72b8bfb3a77ce:/m4/malloc.m4 diff --git a/m4/malloc.m4 b/m4/malloc.m4 index 4978eaf6..f6d43c91 100644 --- a/m4/malloc.m4 +++ b/m4/malloc.m4 @@ -1,18 +1,19 @@ -#serial 3 +#serial 7 dnl From Jim Meyering. dnl Determine whether malloc accepts 0 as its argument. dnl If it doesn't, arrange to use the replacement function. dnl -AC_DEFUN(jm_FUNC_MALLOC, +AC_DEFUN([jm_FUNC_MALLOC], [ dnl xmalloc.c requires that this symbol be defined so it doesn't dnl mistakenly use a broken malloc -- as it might if this test were omitted. - AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_MALLOC_CHECK, 1, - [Define if the malloc check has been performed. ]) + AC_DEFINE(HAVE_DONE_WORKING_MALLOC_CHECK, 1, + [Define if the malloc check has been performed. ]) - AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc, + AC_CACHE_CHECK([whether malloc(0) returns a non-NULL pointer], + jm_cv_func_working_malloc, [AC_TRY_RUN([ char *malloc (); int @@ -23,13 +24,17 @@ AC_DEFUN(jm_FUNC_MALLOC, ], jm_cv_func_working_malloc=yes, jm_cv_func_working_malloc=no, - dnl When crosscompiling, assume malloc is broken. + dnl When crosscompiling, assume malloc(0) returns NULL. jm_cv_func_working_malloc=no) ]) - if test $jm_cv_func_working_malloc = no; then - AC_SUBST(LIBOBJS) - LIBOBJS="$LIBOBJS malloc.$ac_objext" - AC_DEFINE_UNQUOTED(malloc, rpl_malloc, + if test $jm_cv_func_working_malloc = yes; then + AC_DEFINE([HAVE_MALLOC], 1, + [Define to 1 if your system has a working `malloc' function, + and to 0 otherwise.]) + else + AC_DEFINE([HAVE_MALLOC], 0) + AC_LIBOBJ(malloc) + AC_DEFINE(malloc, rpl_malloc, [Define to rpl_malloc if the replacement function should be used.]) fi ])