Index: _endian.h =================================================================== RCS file: /cvs/src/sys/sys/_endian.h,v retrieving revision 1.7 diff -u -p -r1.7 _endian.h --- _endian.h 7 Jan 2018 15:17:42 -0000 1.7 +++ _endian.h 11 Jan 2018 03:31:01 -0000 @@ -83,9 +83,12 @@ __swap64md(__uint64_t x) } #endif -#define __swap16(x) (__builtin_constant_p(x) ? __swap16gen(x) : __swap16md(x)) -#define __swap32(x) (__builtin_constant_p(x) ? __swap32gen(x) : __swap32md(x)) -#define __swap64(x) (__builtin_constant_p(x) ? __swap64gen(x) : __swap64md(x)) +#define __swap16(x) \ + (__uint16_t)(__builtin_constant_p(x) ? __swap16gen(x) : __swap16md(x)) +#define __swap32(x) \ + (__uint32_t)(__builtin_constant_p(x) ? __swap32gen(x) : __swap32md(x)) +#define __swap64(x) \ + (__uint64_t)(__builtin_constant_p(x) ? __swap64gen(x) : __swap64md(x)) #if _BYTE_ORDER == _LITTLE_ENDIAN