From 6c88c3bf6526c857dbae2c23febac00081571a48 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Mon, 27 Jun 2016 08:12:40 -0400 Subject: [PATCH] Fix "expected ')' before __builtin_ia32_pclmulqdq128" under GCC 4.8/4.9 with -std=c++11 (Issue 206) --- cpu.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cpu.h b/cpu.h index 890f53db..c7970cc4 100644 --- a/cpu.h +++ b/cpu.h @@ -86,9 +86,13 @@ _mm_insert_epi32 (__m128i a, int b, const int i) NAMESPACE_END #endif // smmintrin.h -// AES needs Clang 2.8 and Apple Clang 4.6. PCLMUL needs Clang 3.4 and Apple Clang 6.0 +// AES needs Clang 2.8 and Apple Clang 4.6. PCLMUL needs Clang 3.4 and Apple Clang 6.0. +// GCC 4.4 code path due to http://github.com/weidai11/cryptopp/issues/206. #if !defined(__GNUC__) || (defined(__AES__) && defined(__PCLMUL__)) || defined(__INTEL_COMPILER) || (CRYPTOPP_CLANG_VERSION >= 30400) || (CRYPTOPP_APPLE_CLANG_VERSION >= 60000) -#include +# include +#elif defined(__GNUC__) && (CRYPTOPP_GCC_VERSION >= 40400) +# include +# include #else NAMESPACE_BEGIN(CryptoPP) __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))