diff options
author | Jeffrey Walton <noloader@gmail.com> | 2015-12-25 03:37:14 -0500 |
---|---|---|
committer | Jeffrey Walton <noloader@gmail.com> | 2015-12-25 03:37:14 -0500 |
commit | 885b94707cb9a9178cd8787282428cc7c46304a1 (patch) | |
tree | 977bd8fc002a521377740153dc09b88146bfa59f /sha.h | |
parent | 4cf8d660d29f0533df21c1f29cce8e4e77e10a0c (diff) | |
download | cryptopp-git-885b94707cb9a9178cd8787282428cc7c46304a1.tar.gz |
Fixed Clang 3.3 integrated assembler crash on Linux
Diffstat (limited to 'sha.h')
-rw-r--r-- | sha.h | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -10,6 +10,11 @@ #include "config.h"
#include "iterhash.h"
+// Clang 3.3 integrated assembler crash on Linux
+#if defined(CRYPTOPP_CLANG_VERSION) && (CRYPTOPP_CLANG_VERSION < 30400)
+# define CRYPTOPP_DISABLE_SHA_ASM
+#endif
+
NAMESPACE_BEGIN(CryptoPP)
/// <a href="http://www.weidai.com/scan-mirror/md.html#SHA-1">SHA-1</a>
@@ -27,7 +32,7 @@ typedef SHA1 SHA; // for backwards compatibility class CRYPTOPP_DLL SHA256 : public IteratedHashWithStaticTransform<word32, BigEndian, 64, 32, SHA256, 32, true>
{
public:
-#if defined(CRYPTOPP_X86_ASM_AVAILABLE) || defined(CRYPTOPP_X32_ASM_AVAILABLE) || defined(CRYPTOPP_X64_MASM_AVAILABLE) && !defined(CRYPTOPP_DISABLE_SHA_ASM)
+#if (defined(CRYPTOPP_X86_ASM_AVAILABLE) || defined(CRYPTOPP_X32_ASM_AVAILABLE) || defined(CRYPTOPP_X64_MASM_AVAILABLE)) && !defined(CRYPTOPP_DISABLE_SHA_ASM)
size_t HashMultipleBlocks(const word32 *input, size_t length);
#endif
static void CRYPTOPP_API InitState(HashWordType *state);
@@ -39,7 +44,7 @@ public: class CRYPTOPP_DLL SHA224 : public IteratedHashWithStaticTransform<word32, BigEndian, 64, 32, SHA224, 28, true>
{
public:
-#if defined(CRYPTOPP_X86_ASM_AVAILABLE) || defined(CRYPTOPP_X32_ASM_AVAILABLE) || defined(CRYPTOPP_X64_MASM_AVAILABLE) && !defined(CRYPTOPP_DISABLE_SHA_ASM)
+#if (defined(CRYPTOPP_X86_ASM_AVAILABLE) || defined(CRYPTOPP_X32_ASM_AVAILABLE) || defined(CRYPTOPP_X64_MASM_AVAILABLE)) && !defined(CRYPTOPP_DISABLE_SHA_ASM)
size_t HashMultipleBlocks(const word32 *input, size_t length);
#endif
static void CRYPTOPP_API InitState(HashWordType *state);
|