Use LONG_LONG_MAX and friends if available.
If we don't have LLONG_{MIN,MAX} but do have LONG_LONG_{MIN,MAX} then use those instead. We do calculate these values in configure, but it turns out that at least one compiler (old HP ANSI C) can't parse "-9223372036854775808LL" without mangling it. (It can parse "-9223372036854775807LL" which is presumably why its limits.h defines LONG_LONG_MIN as the latter minus 1.) Fixes rekey test when compiled with the aforementioned compiler.
This commit is contained in:
parent
aad87b88fc
commit
e9dc986372
|
@ -93,6 +93,7 @@ AC_SUBST([LD])
|
|||
AC_C_INLINE
|
||||
|
||||
AC_CHECK_DECL([LLONG_MAX], [have_llong_max=1], , [#include <limits.h>])
|
||||
AC_CHECK_DECL([LONG_LONG_MAX], [have_long_long_max=1], , [#include <limits.h>])
|
||||
AC_CHECK_DECL([SYSTR_POLICY_KILL], [have_systr_policy_kill=1], , [
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
|
@ -3611,7 +3612,7 @@ if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then
|
|||
fi
|
||||
|
||||
# compute LLONG_MIN and LLONG_MAX if we don't know them.
|
||||
if test -z "$have_llong_max"; then
|
||||
if test -z "$have_llong_max" && test -z "$have_long_long_max"; then
|
||||
AC_MSG_CHECKING([for max value of long long])
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM([[
|
||||
|
|
|
@ -254,6 +254,13 @@ typedef unsigned int u_int32_t;
|
|||
#define __BIT_TYPES_DEFINED__
|
||||
#endif
|
||||
|
||||
#if !defined(LLONG_MIN) && defined(LONG_LONG_MIN)
|
||||
#define LLONG_MIN LONG_LONG_MIN
|
||||
#endif
|
||||
#if !defined(LLONG_MAX) && defined(LONG_LONG_MAX)
|
||||
#define LLONG_MAX LONG_LONG_MAX
|
||||
#endif
|
||||
|
||||
#ifndef UINT32_MAX
|
||||
# if defined(HAVE_DECL_UINT32_MAX) && (HAVE_DECL_UINT32_MAX == 0)
|
||||
# if (SIZEOF_INT == 4)
|
||||
|
|
Loading…
Reference in New Issue