aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/generic/bits/byteswap.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/generic/bits/byteswap.h')
-rw-r--r--sysdeps/generic/bits/byteswap.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/sysdeps/generic/bits/byteswap.h b/sysdeps/generic/bits/byteswap.h
index a5dd4a7db3..73189cfe5c 100644
--- a/sysdeps/generic/bits/byteswap.h
+++ b/sysdeps/generic/bits/byteswap.h
@@ -54,10 +54,11 @@ __bswap32 (unsigned int x)
#if defined __GNUC__ && __GNUC__ >= 2
/* Swap bytes in 64 bit value. */
# define __bswap_64(x) \
- ({ union { unsigned long long int __ll; \
- unsigned long int __l[2]; } __v, __r; \
- __v.__ll = (x); \
- __r.__l[0] = __bswap_32 (__v.__l[1]); \
- __r.__l[1] = __bswap_32 (__v.__l[0]); \
- __r.__ll; })
+ (__extension__ \
+ ({ union { unsigned long long int __ll; \
+ unsigned long int __l[2]; } __v, __r; \
+ __v.__ll = (x); \
+ __r.__l[0] = __bswap_32 (__v.__l[1]); \
+ __r.__l[1] = __bswap_32 (__v.__l[0]); \
+ __r.__ll; }))
#endif