diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-10-12 09:21:47 -0700 |
---|---|---|
committer | Ryan S. Arnold <rsa@linux.vnet.ibm.com> | 2013-01-18 09:32:18 -0600 |
commit | 2c739e2cffb65d80787cfa861f9f6c62de327ad6 (patch) | |
tree | e8c8d65dad1f830734a95760c2be1ffa6797503d | |
parent | a24f8ac8e65b451efc81839dd653d0a0e95a23ab (diff) | |
download | glibc-2c739e2cffb65d80787cfa861f9f6c62de327ad6.zip glibc-2c739e2cffb65d80787cfa861f9f6c62de327ad6.tar.gz glibc-2c739e2cffb65d80787cfa861f9f6c62de327ad6.tar.bz2 |
Use __uint64_t in x86 __bswap_64
(cherry picked from commit d394eb742a3565d7fe7a4b02710a60b5f219ee64)
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/x86/bits/byteswap.h | 13 |
2 files changed, 12 insertions, 6 deletions
@@ -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-07-06 Andreas Schwab <schwab@linux-m68k.org> [BZ #14042] diff --git a/sysdeps/x86/bits/byteswap.h b/sysdeps/x86/bits/byteswap.h index 4178439..babe567 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); } |