SP int: Handle ULLONG_MAX not being defined

This commit is contained in:
Sean Parkinson
2021-03-26 09:03:39 +10:00
parent 0d995527aa
commit 08be489bf5

View File

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