2011-11-24 Niels Möller <nisse@lysator.liu.se>
+ * serpent-internal.h (ROL64): Use (uint64_t) 1 rather than 1L, for
+ systems. Needed for M$ w64.
+ (RSHIFT64): Likewise. Also added a missing parenthesis.
+
From Martin Storsjö:
* testsuite/symbols-test: Use $NM, falling back to nm if undefined.
* testsuite/Makefile.in (check): Pass $(NM) in the environment of
#if HAVE_NATIVE_64_BIT
/* Operate independently on both halves of a 64-bit word. */
#define ROL64(x,n) \
- (((x) << (n) & ~(((1L << (n))-1) << 32)) \
- |(((x) >> (32-(n))) & ~(((1L << (32-(n)))-1) << (n))))
+ (((x) << (n) & ~((((uint64_t) 1 << (n))-1) << 32)) \
+ |(((x) >> (32-(n))) & ~((((uint64_t) 1 << (32-(n)))-1) << (n))))
#define KEYXOR64(x0,x1,x2,x3, subkey) \
do { \
} while (0)
#define RSHIFT64(x,n) \
- ( ((x) << (n)) & ~(((1L << n) - 1) << 32))
+ ( ((x) << (n)) & ~((((uint64_t) 1 << (n)) - 1) << 32))
#endif /* HAVE_NATIVE_64_BIT */
#endif /* NETTLE_SERPENT_INTERNAL_H_INCLUDED */