diff options
author | Bruno Haible <bruno@clisp.org> | 2007-09-09 13:07:55 +0000 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2007-09-09 13:07:55 +0000 |
commit | 097a47250043b34926a0a03b5263b237882f1673 (patch) | |
tree | 249a1598684545519e47488ff451bfa10115f20e /m4 | |
parent | 23631b7e71d7a29c117b092055bfd74e045e72aa (diff) | |
download | gnulib-097a47250043b34926a0a03b5263b237882f1673.tar.gz |
Simplify the malloc/realloc/calloc macrology.
Diffstat (limited to 'm4')
-rw-r--r-- | m4/calloc.m4 | 15 | ||||
-rw-r--r-- | m4/malloc.m4 | 25 | ||||
-rw-r--r-- | m4/realloc.m4 | 15 |
3 files changed, 20 insertions, 35 deletions
diff --git a/m4/calloc.m4 b/m4/calloc.m4 index 3432493f49..13972729d8 100644 --- a/m4/calloc.m4 +++ b/m4/calloc.m4 @@ -49,19 +49,8 @@ AC_DEFUN([AC_FUNC_CALLOC], # fails), and replace calloc if it is not. AC_DEFUN([gl_FUNC_CALLOC_POSIX], [ - AC_CACHE_CHECK([whether calloc is POSIX compliant], - [gl_cv_func_calloc_posix], - [ - dnl It is too dangerous to try to allocate a large amount of memory: - dnl some systems go to their knees when you do that. So assume that - dnl all Unix implementations of the function are POSIX compliant. - AC_TRY_COMPILE([], - [#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) - choke me - #endif - ], [gl_cv_func_calloc_posix=yes], [gl_cv_func_calloc_posix=no]) - ]) - if test $gl_cv_func_calloc_posix = yes; then + AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) + if test $gl_cv_func_malloc_posix = yes; then HAVE_CALLOC_POSIX=1 AC_DEFINE([HAVE_CALLOC_POSIX], 1, [Define if the 'calloc' function is POSIX compliant.]) diff --git a/m4/malloc.m4 b/m4/malloc.m4 index 727192c294..36ca01a151 100644 --- a/m4/malloc.m4 +++ b/m4/malloc.m4 @@ -10,6 +10,22 @@ dnl with or without modifications, as long as this notice is preserved. # fails), and replace malloc if it is not. AC_DEFUN([gl_FUNC_MALLOC_POSIX], [ + AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) + if test $gl_cv_func_malloc_posix = yes; then + HAVE_MALLOC_POSIX=1 + AC_DEFINE([HAVE_MALLOC_POSIX], 1, + [Define if the 'malloc' function is POSIX compliant.]) + else + AC_LIBOBJ([malloc]) + HAVE_MALLOC_POSIX=0 + fi + AC_SUBST([HAVE_MALLOC_POSIX]) +]) + +# Test whether malloc, realloc, calloc are POSIX compliant, +# Set gl_cv_func_malloc_posix to yes or no accordingly. +AC_DEFUN([gl_CHECK_MALLOC_POSIX], +[ AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], [gl_cv_func_malloc_posix], [ @@ -22,13 +38,4 @@ AC_DEFUN([gl_FUNC_MALLOC_POSIX], #endif ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no]) ]) - if test $gl_cv_func_malloc_posix = yes; then - HAVE_MALLOC_POSIX=1 - AC_DEFINE([HAVE_MALLOC_POSIX], 1, - [Define if the 'malloc' function is POSIX compliant.]) - else - AC_LIBOBJ([malloc]) - HAVE_MALLOC_POSIX=0 - fi - AC_SUBST([HAVE_MALLOC_POSIX]) ]) diff --git a/m4/realloc.m4 b/m4/realloc.m4 index c00f047992..f9fd935dbb 100644 --- a/m4/realloc.m4 +++ b/m4/realloc.m4 @@ -5,23 +5,12 @@ dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # gl_FUNC_REALLOC_POSIX -# -------------------- +# --------------------- # Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace realloc if it is not. AC_DEFUN([gl_FUNC_REALLOC_POSIX], [ - AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], - [gl_cv_func_malloc_posix], - [ - dnl It is too dangerous to try to allocate a large amount of memory: - dnl some systems go to their knees when you do that. So assume that - dnl all Unix implementations of the function are POSIX compliant. - AC_TRY_COMPILE([], - [#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) - choke me - #endif - ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no]) - ]) + AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then HAVE_REALLOC_POSIX=1 AC_DEFINE([HAVE_REALLOC_POSIX], 1, |