ia64: fix byteswap conversion warning
authorMike Frysinger <vapier@gentoo.org>
Thu, 2 Aug 2012 00:56:03 +0000 (20:56 -0400)
committerMike Frysinger <vapier@gentoo.org>
Fri, 3 Aug 2012 16:08:51 +0000 (12:08 -0400)
Same fix as went in for other architectures.

URL: http://sourceware.org/bugzilla/show_bug.cgi?id=12194
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
ports/ChangeLog.ia64
ports/sysdeps/ia64/bits/byteswap-16.h
ports/sysdeps/ia64/bits/byteswap.h

index efb2fa9..933ac23 100644 (file)
@@ -1,3 +1,10 @@
+2012-08-03  Mike Frysinger  <vapier@gentoo.org>
+
+       [BZ #12194]
+       * sysdeps/ia64/bits/byteswap-16.h (__bswap_16): Avoid -Wconversion
+       warning.
+       * sysdeps/ia64/bits/byteswap.h (__bswap_constant_16): Likewise.
+
 2012-08-03  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/unix/sysv/linux/ia64/configure.in (arch_minimum_kernel):
index 0a85909..4a53ffa 100644 (file)
@@ -23,7 +23,7 @@
 #if defined __GNUC__ && __GNUC__ >= 2
 # define __bswap_16(x) \
      (__extension__                                                          \
-      ({ register unsigned short int __v, __x = (x);                         \
+      ({ register unsigned short int __v, __x = (unsigned short int) (x);     \
         if (__builtin_constant_p (x))                                        \
           __v = __bswap_constant_16 (__x);                                   \
         else                                                                 \
index 6861248..d363c3e 100644 (file)
@@ -25,7 +25,7 @@
 
 /* Swap bytes in 16 bit value.  */
 #define __bswap_constant_16(x) \
-     ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))
+     ((unsigned short int)((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
 
 /* Get __bswap_16.  */
 #include <bits/byteswap-16.h>