summaryrefslogtreecommitdiffstats
path: root/crypto/sha/sha_locl.h
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2000-01-02 22:03:10 +0000
committerAndy Polyakov <appro@openssl.org>2000-01-02 22:03:10 +0000
commit1eab9a1fbb6bcc3c616881da00c68bb2ef61589b (patch)
treec17384e1e4542566fc92b685cdde1e2a054dfeac /crypto/sha/sha_locl.h
parent2e97d4f9f5fca98e430a0a3e0b40648e169107c5 (diff)
Metrowerks for Motorola tune-up.
Diffstat (limited to 'crypto/sha/sha_locl.h')
-rw-r--r--crypto/sha/sha_locl.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/crypto/sha/sha_locl.h b/crypto/sha/sha_locl.h
index 80e70f046f..0a78b399a9 100644
--- a/crypto/sha/sha_locl.h
+++ b/crypto/sha/sha_locl.h
@@ -103,9 +103,16 @@
# define HASH_INIT SHA1_Init
# define HASH_BLOCK_HOST_ORDER sha1_block_host_order
# define HASH_BLOCK_DATA_ORDER sha1_block_data_order
-# define Xupdate(a,ix,ia,ib,ic,id) ( (a)=(ia^ib^ic^id), \
+# if defined(__MWERKS__) && defined(__MC68K__)
+ /* Metrowerks for Motorola fails otherwise:-( <appro@fy.chalmers.se> */
+# define Xupdate(a,ix,ia,ib,ic,id) do { (a)=(ia^ib^ic^id); \
+ ix=(a)=ROTATE((a),1); \
+ } while (0)
+# else
+# define Xupdate(a,ix,ia,ib,ic,id) ( (a)=(ia^ib^ic^id), \
ix=(a)=ROTATE((a),1) \
)
+# endif
# ifdef SHA1_ASM
# if defined(__i386) || defined(_M_IX86) || defined(__INTEL__)