diff options
author | darkf <lw9k123@gmail.com> | 2015-08-15 23:41:40 -0700 |
---|---|---|
committer | darkf <lw9k123@gmail.com> | 2015-08-17 22:21:14 -0700 |
commit | e053d30bf75f311778ad745f7859a9733d6ce2e3 (patch) | |
tree | dd10a8b2f513d5d4245549e259c0a05308e694bb /src/common/common_funcs.h | |
parent | 882040fde7d168aeeadbc8007c7bc8a574809ecf (diff) |
Fix building under MinGW
Diffstat (limited to 'src/common/common_funcs.h')
-rw-r--r-- | src/common/common_funcs.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/common/common_funcs.h b/src/common/common_funcs.h index 88e452a169..ed20c36297 100644 --- a/src/common/common_funcs.h +++ b/src/common/common_funcs.h @@ -45,14 +45,20 @@ // GCC 4.8 defines all the rotate functions now // Small issue with GCC's lrotl/lrotr intrinsics is they are still 32bit while we require 64bit -#ifndef _rotl -inline u32 _rotl(u32 x, int shift) { +#ifdef _rotl +#define rotl _rotl +#else +inline u32 rotl(u32 x, int shift) { shift &= 31; if (!shift) return x; return (x << shift) | (x >> (32 - shift)); } +#endif -inline u32 _rotr(u32 x, int shift) { +#ifdef _rotr +#define rotr _rotr +#else +inline u32 rotr(u32 x, int shift) { shift &= 31; if (!shift) return x; return (x >> shift) | (x << (32 - shift)); |