From: Vsevolod Stakhov Date: Sat, 30 Jan 2016 10:36:24 +0000 (+0100) Subject: Another workaround to avoid __int128 warning X-Git-Tag: 1.1.3~25 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=9800118df8fce5931589ee2597a0e11e1e70aa8f;p=rspamd.git Another workaround to avoid __int128 warning --- diff --git a/src/libcryptobox/poly1305/poly1305_internal.h b/src/libcryptobox/poly1305/poly1305_internal.h new file mode 100644 index 000000000..21b7aa7d2 --- /dev/null +++ b/src/libcryptobox/poly1305/poly1305_internal.h @@ -0,0 +1,19 @@ +#if defined(_MSC_VER) + #include + + typedef struct uint128_t { + unsigned long long lo; + unsigned long long hi; + } uint128_t; + + #define POLY1305_NOINLINE __declspec(noinline) +#elif defined(__GNUC__) + #pragma GCC system_header + #if defined(__SIZEOF_INT128__) + typedef unsigned __int128 uint128_t; + #else + typedef unsigned uint128_t __attribute__((mode(TI))); + #endif + + #define POLY1305_NOINLINE __attribute__((noinline)) +#endif diff --git a/src/libcryptobox/poly1305/ref-64.c b/src/libcryptobox/poly1305/ref-64.c index 01b8ff2c1..48d5fbcc6 100644 --- a/src/libcryptobox/poly1305/ref-64.c +++ b/src/libcryptobox/poly1305/ref-64.c @@ -6,30 +6,11 @@ #include "config.h" #include "poly1305.h" +#include "poly1305_internal.h" enum { POLY1305_BLOCK_SIZE = 16 }; -#if defined(_MSC_VER) - #include - - typedef struct uint128_t { - unsigned long long lo; - unsigned long long hi; - } uint128_t; - - #define POLY1305_NOINLINE __declspec(noinline) -#elif defined(__GNUC__) - #pragma GCC system_header - #if defined(__SIZEOF_INT128__) - typedef unsigned __int128 uint128_t; - #else - typedef unsigned uint128_t __attribute__((mode(TI))); - #endif - - #define POLY1305_NOINLINE __attribute__((noinline)) -#endif - typedef struct poly1305_state_ref_t { uint64_t r[3]; uint64_t h[3];