Fix "expected ')' before __builtin_ia32_pclmulqdq128" under GCC 4.8/4.9 with -std=c++11 (Issue 206)

pull/211/head
Jeffrey Walton 2016-06-27 08:12:40 -04:00
parent f91ca811ff
commit 6c88c3bf65
1 changed files with 6 additions and 2 deletions

8
cpu.h
View File

@ -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 <wmmintrin.h>
# include <wmmintrin.h>
#elif defined(__GNUC__) && (CRYPTOPP_GCC_VERSION >= 40400)
# include <x86intrin.h>
# include <emmintrin.h>
#else
NAMESPACE_BEGIN(CryptoPP)
__inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))