Merge pull request #3920 from SparkiDev/sp_int_ullong

SP int: Handle ULLONG_MAX not being defined
This commit is contained in:
David Garske 2021-04-05 11:48:38 -07:00 committed by GitHub
commit 7935b7c485
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -113,29 +113,33 @@ extern "C" {
#error "Size of unsigned long not detected"
#endif
#if ULLONG_MAX == 18446744073709551615ULL
#define SP_ULLONG_BITS 64
#ifdef ULLONG_MAX
#if ULLONG_MAX == 18446744073709551615ULL
#define SP_ULLONG_BITS 64
#if SP_ULLONG_BITS > SP_ULONG_BITS
typedef unsigned long long sp_uint64;
typedef long long sp_int64;
#endif
#elif ULLONG_MAX == 4294967295UL
#define SP_ULLONG_BITS 32
#if SP_ULLONG_BITS > SP_ULONG_BITS
typedef unsigned long long sp_uint64;
typedef long long sp_int64;
#endif
#elif ULLONG_MAX == 4294967295UL
#define SP_ULLONG_BITS 32
#if SP_ULLONG_BITS > SP_ULONG_BITS
typedef unsigned long long sp_uint32;
typedef long long sp_int32;
#endif
#elif ULLONG_MAX == 65535
#define SP_ULLONG_BITS 16
#if SP_ULLONG_BITS > SP_ULONG_BITS
typedef unsigned long long sp_uint32;
typedef long long sp_int32;
#endif
#elif ULLONG_MAX == 65535
#define SP_ULLONG_BITS 16
#if SP_ULLONG_BITS > SP_ULONG_BITS
typedef unsigned long long sp_uint16;
typedef long long sp_int16;
#if SP_ULLONG_BITS > SP_ULONG_BITS
typedef unsigned long long sp_uint16;
typedef long long sp_int16;
#endif
#else
#error "Size of unsigned long long not detected"
#endif
#else
#error "Size of unsigned long long not detected"
#define SP_ULLONG_BITS 0
#endif