X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Fendian.h;h=41ca1711578c4d64d292d4c881e2579c62ad0fa9;hp=a08c1b6317cd3924cc74cebfa169de7557885793;hb=23e6940a2cf101017df33236ebee0fd4e3383172;hpb=3f4de355ba02b0659ae84b8861f7360658a04b01 diff --git a/include/endian.h b/include/endian.h index a08c1b63..41ca1711 100644 --- a/include/endian.h +++ b/include/endian.h @@ -5,7 +5,11 @@ #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,17 +20,26 @@ #include -static inline uint16_t __bswap16(uint16_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint16_t __bswap16(uint16_t __x) { return __x<<8 | __x>>8; } -static inline uint32_t __bswap32(uint32_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint32_t __bswap32(uint32_t __x) { return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; } -static inline uint64_t __bswap64(uint64_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint64_t __bswap64(uint64_t __x) { return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32); }