From 6f8ed252b419965e428587ee7cef14ccfb31b7ef Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 28 Sep 2005 22:08:46 +0000 Subject: [PATCH] (gl_ULLONG_MAX): Simplify so that it merely defines ULONG_MAX_LT_ULLONG_MAX. Thomas M.Ott reports that ULLONG_MAX doesn't work with 2.7.2.1. --- m4/ChangeLog | 6 ++++++ m4/ullong_max.m4 | 45 +++++++++++++-------------------------------- 2 files changed, 19 insertions(+), 32 deletions(-) diff --git a/m4/ChangeLog b/m4/ChangeLog index 0a41dfb..3102ef9 100644 --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,9 @@ +2005-09-28 Paul Eggert + + * ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely + defines ULONG_MAX_LT_ULLONG_MAX. Thomas M.Ott reports that + ULLONG_MAX doesn't work with 2.7.2.1. + 2005-09-26 Jim Meyering * utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes diff --git a/m4/ullong_max.m4 b/m4/ullong_max.m4 index 49fc340..61fdce2 100644 --- a/m4/ullong_max.m4 +++ b/m4/ullong_max.m4 @@ -11,36 +11,17 @@ AC_DEFUN([gl_ULLONG_MAX], [ dnl Avoid _AC_COMPUTE_INT-related macros, as they may not work with dnl types wider than long int, due to problems with expr. - AC_CACHE_CHECK([for ULLONG_MAX], gl_cv_ullong_max, - [gl_cv_ullong_max=no - AC_EGREP_CPP([ULLONG_MAX is defined], - [ - #include - #ifdef ULLONG_MAX - "ULLONG_MAX is defined" - #endif - ], - [gl_cv_ullong_max=yes]) - case $gl_cv_ullong_max in - no) - for gl_expr in \ - 18446744073709551615ULL \ - 4722366482869645213695ULL \ - 340282366920938463463374607431768211455ULL - do - AC_TRY_COMPILE([], - [char test[$gl_expr == (unsigned long long int) -1 ? 1 : -1]; - static unsigned long long int i = $gl_expr; - return i && test;], - [gl_cv_ullong_max=$gl_expr]) - test $gl_cv_ullong_max != no && break - done - esac]) - case $gl_cv_ullong_max in - yes | no) ;; - *) - AC_DEFINE_UNQUOTED([ULLONG_MAX], [$gl_cv_ullong_max], - [Define as the maximum value of the type 'unsigned long long int', - if the system doesn't define it, and if the system has that type.]);; - esac + AC_CACHE_CHECK([whether ULONG_MAX < ULLONG_MAX], + [gl_cv_ulong_max_lt_ullong_max], + [AC_COMPILE_IFELSE( + [AC_LANG_BOOL_COMPILE_TRY( + [AC_INCLUDES_DEFAULT], + [[(unsigned long int) -1 < (unsigned long long int) -1]])], + [gl_cv_ulong_max_lt_ullong_max=yes], + [gl_cv_ulong_max_lt_ullong_max=no])]) + if test $gl_cv_ulong_max_lt_ullong_max = yes; then + AC_DEFINE([ULONG_MAX_LT_ULLONG_MAX], 1, + [Define if ULONG_MAX < ULLONG_MAX, even if your compiler does not + support ULLONG_MAX.]) + fi ]) -- 2.7.4