diff options
author | glass <glass@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-11-24 16:03:22 +0000 |
---|---|---|
committer | glass <glass@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-11-24 16:03:22 +0000 |
commit | b25a6494cce1a78da03c4259a7610a51b1d907f6 (patch) | |
tree | ac430b89a5a8140bc46a0548ce221c6a39684606 /internal.h | |
parent | bc65d709ab72fc0fcdb37a6965028ba1b98940ba (diff) | |
download | ruby-b25a6494cce1a78da03c4259a7610a51b1d907f6.tar.gz |
* internal.h: use __builtin_bswap16() if possible.
* configure.in: check existence of __builtin_bswap16().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r-- | internal.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/internal.h b/internal.h index 464266ffbb..963192d27b 100644 --- a/internal.h +++ b/internal.h @@ -70,6 +70,12 @@ extern "C" { #define MUL_OVERFLOW_INT_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, INT_MIN, INT_MAX) #ifndef swap16 +# ifdef HAVE_BUILTIN___BUILTIN_BSWAP16 +# define swap16(x) __builtin_bswap16(x) +# endif +#endif + +#ifndef swap16 # define swap16(x) ((uint16_t)((((x)&0xFF)<<8) | (((x)>>8)&0xFF))) #endif |