X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Fendian.h;h=1bd444518ab5febecb6cec6e2e7693c29359d082;hp=9652c30b6ef0f7965f1b6d9e5e51a93bbc3f3469;hb=1ab59de81e94e7802f85d314a709f8350a0e9b65;hpb=b959d04644d99f27d9f10344e76c079a12bc1ffd diff --git a/include/endian.h b/include/endian.h index 9652c30b..1bd44451 100644 --- a/include/endian.h +++ b/include/endian.h @@ -1,11 +1,17 @@ #ifndef _ENDIAN_H #define _ENDIAN_H +#include + #define __LITTLE_ENDIAN 1234 #define __BIG_ENDIAN 4321 #define __PDP_ENDIAN 3412 +#if defined(__GNUC__) && defined(__BYTE_ORDER__) +#define __BYTE_ORDER __BYTE_ORDER__ +#else #include +#endif #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) @@ -16,26 +22,17 @@ #include -#if __STDC_VERSION__ >= 199901L -inline -#endif -static uint16_t __bswap16(uint16_t __x) +static __inline uint16_t __bswap16(uint16_t __x) { return __x<<8 | __x>>8; } -#if __STDC_VERSION__ >= 199901L -inline -#endif -static uint32_t __bswap32(uint32_t __x) +static __inline uint32_t __bswap32(uint32_t __x) { return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; } -#if __STDC_VERSION__ >= 199901L -inline -#endif -static uint64_t __bswap64(uint64_t __x) +static __inline uint64_t __bswap64(uint64_t __x) { return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32); }