summaryrefslogtreecommitdiffstats
path: root/crypto/rc5
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2004-03-28 21:27:47 +0000
committerAndy Polyakov <appro@openssl.org>2004-03-28 21:27:47 +0000
commit1a979201d5b099edbc1e3ad2fb157ee058091a40 (patch)
treeaeb8ac81bc854026ce89d455deca957b10139a2c /crypto/rc5
parent216659eb87485402a8e861a6de77233d1f5d7425 (diff)
This is essentially Intel 32-bit compiler tune-up. To start with all
available compiler versions generated bogus machine code trying to compile new crypto/des/cfb_enc.c. Secondly, 8th version defines __GNUC__ macro, but fails to compile *some* inline assembler correctly. Note that all versions of icc implement MSC-like _lrot[rl] intrinsic, which is used now instead of offensive asm. Finally, unnecessary linker dependencies are eliminated. Most notably dependency from libirc.a caused trouble at application start-up, if libcrypto.so is linked with -Bsymbolic (which it is).
Diffstat (limited to 'crypto/rc5')
-rw-r--r--crypto/rc5/rc5_locl.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/rc5/rc5_locl.h b/crypto/rc5/rc5_locl.h
index f4ebc23004..282dd38822 100644
--- a/crypto/rc5/rc5_locl.h
+++ b/crypto/rc5/rc5_locl.h
@@ -146,7 +146,7 @@
*((c)++)=(unsigned char)(((l)>> 8L)&0xff), \
*((c)++)=(unsigned char)(((l) )&0xff))
-#if defined(OPENSSL_SYS_WIN32) && defined(_MSC_VER)
+#if (defined(OPENSSL_SYS_WIN32) && defined(_MSC_VER)) || defined(__ICC)
#define ROTATE_l32(a,n) _lrotl(a,n)
#define ROTATE_r32(a,n) _lrotr(a,n)
#elif defined(__GNUC__) && __GNUC__>=2 && !defined(__STRICT_ANSI__) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM) && !defined(PEDANTIC)