about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-11-20 00:04:45 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-11-20 00:04:45 +0000
commitecd4caf9783c99fb068a100c35899a0c3a3c6d98 (patch)
tree12f035373cf93880694f3ddb453a25e564d12131
parentc9c253d3729d24bff73ba4094bff386ec54a8cf1 (diff)
downloadglibc-ecd4caf9783c99fb068a100c35899a0c3a3c6d98.tar.gz
glibc-ecd4caf9783c99fb068a100c35899a0c3a3c6d98.tar.xz
glibc-ecd4caf9783c99fb068a100c35899a0c3a3c6d98.zip
Fix __bswap_64 return type in generic bits/byteswap.h.
-rw-r--r--ChangeLog5
-rw-r--r--bits/byteswap.h11
2 files changed, 11 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 55f5dde525..f8dd00b249 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-19  Joseph Myers  <joseph@codesourcery.com>
+
+	* bits/byteswap.h: Include <bits/types.h>.
+	(__bswap_64): Use __uint64_t instead of unsigned long long int.
+
 2012-11-19  Pino Toscano  <toscano.pino@tiscali.it>
 
 	* sysdeps/mach/hurd/ptsname.c (ptsname): Change the type of PEERNAME to
diff --git a/bits/byteswap.h b/bits/byteswap.h
index 3ca0ad6986..e19e91ada7 100644
--- a/bits/byteswap.h
+++ b/bits/byteswap.h
@@ -24,6 +24,7 @@
 #define _BITS_BYTESWAP_H 1
 
 #include <features.h>
+#include <bits/types.h>
 
 /* Swap bytes in 16 bit value.  */
 #define __bswap_constant_16(x) \
@@ -70,15 +71,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);
 }
 # 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);				      \
@@ -101,8 +102,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);
 }