]> git.saurik.com Git - bison.git/blobdiff - m4/malloc.m4
* data/yacc.c: Guard the declaration of yytoknum also with
[bison.git] / m4 / malloc.m4
index 4978eaf6b37e21623213bb68aabc6531a65aa4ff..f6d43c9164c7ac97035d8febad39abaa8efce36c 100644 (file)
@@ -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
 ])