From e9dc9863723e111ae05e353d69df857f0169544a Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 1 May 2020 18:32:25 +1000 Subject: 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. --- defines.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'defines.h') diff --git a/defines.h b/defines.h index a347a44f..b8ea88b2 100644 --- a/defines.h +++ b/defines.h @@ -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) -- cgit v1.2.3