summaryrefslogtreecommitdiff
path: root/rijndael.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2018-08-18 04:44:53 -0400
committerGitHub <noreply@github.com>2018-08-18 04:44:53 -0400
commit4282f94712ee7b86c36fc656f377d2ce78532f0c (patch)
tree6057c2539f6c7b3fd9daa6a83d1a6de5e8018392 /rijndael.h
parent06cf2ede9e043b4c25eb3521cf67fcebb41b7629 (diff)
downloadcryptopp-git-4282f94712ee7b86c36fc656f377d2ce78532f0c.tar.gz
Disable X32 inline assembly (GH #686, PR #704)
Also use CRYPTOPP_DISABLE_XXX_ASM consistently. The pattern is needed for Clang which still can't compile Intel assembly language. Also see http://llvm.org/bugs/show_bug.cgi?id=24232.
Diffstat (limited to 'rijndael.h')
-rw-r--r--rijndael.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/rijndael.h b/rijndael.h
index 325c3114..634a5af0 100644
--- a/rijndael.h
+++ b/rijndael.h
@@ -13,6 +13,12 @@
#include "seckey.h"
#include "secblock.h"
+// Clang 3.3 integrated assembler crash on Linux. Clang 3.4 due to compiler
+// error with .intel_syntax, http://llvm.org/bugs/show_bug.cgi?id=24232
+#if CRYPTOPP_BOOL_X32 || defined(CRYPTOPP_DISABLE_INTEL_ASM)
+# define CRYPTOPP_DISABLE_RIJNDAEL_ASM 1
+#endif
+
#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_ARM32 || \
CRYPTOPP_BOOL_ARM64 || CRYPTOPP_BOOL_PPC32 || CRYPTOPP_BOOL_PPC64
# define CRYPTOPP_RIJNDAEL_ADVANCED_PROCESS_BLOCKS 1