From dbbdd83a57bcd35e1321fd25c03fa16037ff68be Mon Sep 17 00:00:00 2001 From: Todd A Ouska Date: Mon, 29 Aug 2011 11:11:55 -0700 Subject: [PATCH] check sizeof long / long long against 64 bit width for mismatch --- cyassl/ctaocrypt/types.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cyassl/ctaocrypt/types.h b/cyassl/ctaocrypt/types.h index b588a58b7..41175b583 100644 --- a/cyassl/ctaocrypt/types.h +++ b/cyassl/ctaocrypt/types.h @@ -195,16 +195,22 @@ enum { enum { #if !defined(USE_FAST_MATH) && !defined(SIZEOF_LONG) && !defined(SIZEOF_LONG_LONG) CTC_SETTINGS = 0x0 -#elif !defined(USE_FAST_MATH) && defined(SIZEOF_LONG) +#elif !defined(USE_FAST_MATH) && defined(SIZEOF_LONG) && (SIZEOF_LONG == 8) CTC_SETTINGS = 0x1 -#elif !defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) +#elif !defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 8) CTC_SETTINGS = 0x2 #elif defined(USE_FAST_MATH) && !defined(SIZEOF_LONG) && !defined(SIZEOF_LONG_LONG) CTC_SETTINGS = 0x4 -#elif defined(USE_FAST_MATH) && defined(SIZEOF_LONG) +#elif defined(USE_FAST_MATH) && defined(SIZEOF_LONG) && (SIZEOF_LONG == 8) CTC_SETTINGS = 0x8 -#elif defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) +#elif defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 8) CTC_SETTINGS = 0x10 +#elif !defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 4) + CTC_SETTINGS = 0x20 +#elif defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 4) + CTC_SETTINGS = 0x40 +#else + #error "bad math long / long long settings" #endif };