summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-10-12 09:21:47 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-10-12 09:21:47 -0700
commitd394eb742a3565d7fe7a4b02710a60b5f219ee64 (patch)
treeb7a5fb600e0b799da20cf580c6922e252666ac98
parentca38dc17d85b09776a709c8ea7155c414df14073 (diff)
downloadglibc-d394eb742a3565d7fe7a4b02710a60b5f219ee64.tar.gz
Use __uint64_t in x86 __bswap_64
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/x86/bits/byteswap.h13
2 files changed, 12 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index ac521bfaaa..9343ce283a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/x86/bits/byteswap.h: Include <bits/types.h>.
+ (__bswap_64): __uint64_t for unsigned 64-bit int.
+
2012-10-12 Andreas Schwab <schwab@linux-m68k.org>
* include/string.h (memmem): Declare libc hidden alias.
diff --git a/sysdeps/x86/bits/byteswap.h b/sysdeps/x86/bits/byteswap.h
index 4178439334..babe567432 100644
--- a/sysdeps/x86/bits/byteswap.h
+++ b/sysdeps/x86/bits/byteswap.h
@@ -24,6 +24,7 @@
#define _BITS_BYTESWAP_H 1
#include <features.h>
+#include <bits/types.h>
#include <bits/wordsize.h>
/* Swap bytes in 16 bit value. */
@@ -104,15 +105,15 @@ __bswap_32 (unsigned int __bsx)
| (((x) & 0x00000000000000ffull) << 56)))
# if __GNUC_PREREQ (4, 2)
-static __inline unsigned long long int
-__bswap_64 (unsigned long long int __bsx)
+static __inline __uint64_t
+__bswap_64 (__uint64_t __bsx)
{
return __builtin_bswap64 (__bsx);
}
# elif __WORDSIZE == 64
# define __bswap_64(x) \
(__extension__ \
- ({ register unsigned long __v, __x = (x); \
+ ({ register __uint64_t __v, __x = (x); \
if (__builtin_constant_p (__x)) \
__v = __bswap_constant_64 (__x); \
else \
@@ -121,7 +122,7 @@ __bswap_64 (unsigned long long int __bsx)
# else
# define __bswap_64(x) \
(__extension__ \
- ({ union { __extension__ unsigned long long int __ll; \
+ ({ union { __extension__ __uint64_t __ll; \
unsigned int __l[2]; } __w, __r; \
if (__builtin_constant_p (x)) \
__r.__ll = __bswap_constant_64 (x); \
@@ -144,8 +145,8 @@ __bswap_64 (unsigned long long int __bsx)
| (((x) & 0x000000000000ff00ull) << 40) \
| (((x) & 0x00000000000000ffull) << 56))
-static __inline unsigned long long int
-__bswap_64 (unsigned long long int __bsx)
+static __inline __uint64_t
+__bswap_64 (__uint64_t __bsx)
{
return __bswap_constant_64 (__bsx);
}