From 121978e2c3bc92d1fa3009037ba2cf91c76e25de Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Sat, 14 Nov 2015 10:27:08 +0100 Subject: [PATCH] Different ways to avoid inlining --- .../crypto_onetimeauth/poly1305/donna/poly1305_donna64.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h b/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h index 2d6562e9..2dbb4cbf 100644 --- a/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +++ b/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h @@ -14,7 +14,13 @@ typedef unsigned uint128_t __attribute__((mode(TI))); #define SHR(in, shift) (unsigned long long)(in >> (shift)) #define LO(in) (unsigned long long)(in) -#define POLY1305_NOINLINE __attribute__((noinline)) +#if defined(_MSC_VER) +# define POLY1305_NOINLINE __declspec(noinline) +#elif defined(__GNUC__) +# define POLY1305_NOINLINE __attribute__((noinline)) +#else +# define POLY1305_NOINLINE +#endif #define poly1305_block_size 16