m68k: prevent warnings due to long long constants
diff --git a/ChangeLog.m68k b/ChangeLog.m68k
index bd86317..a234cfa 100644
--- a/ChangeLog.m68k
+++ b/ChangeLog.m68k
@@ -1,3 +1,8 @@
+2011-12-23 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdeps/m68k/bits/byteswap.h (__bswap_constant_64): Protect long
+ long constant with __extension__.
+
2011-12-04 Thorsten Glaser <tg@mirbsd.de>
* sysdeps/unix/sysv/linux/m68k/syscall.S: Allow six arguments.
diff --git a/sysdeps/m68k/bits/byteswap.h b/sysdeps/m68k/bits/byteswap.h
index 4f31d95..5e08805 100644
--- a/sysdeps/m68k/bits/byteswap.h
+++ b/sysdeps/m68k/bits/byteswap.h
@@ -28,7 +28,7 @@
because GCC is smart enough to generate optimal assembler output, and
this allows for better cse. */
#define __bswap_constant_16(x) \
- ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))
+ ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))
static __inline unsigned short int
__bswap_16 (unsigned short int __bsx)
@@ -38,8 +38,8 @@
/* Swap bytes in 32 bit value. */
#define __bswap_constant_32(x) \
- ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \
- (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
+ ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \
+ (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
#if !defined(__mcoldfire__)
static __inline unsigned int
@@ -64,14 +64,15 @@
#if defined __GNUC__ && __GNUC__ >= 2
/* Swap bytes in 64 bit value. */
# define __bswap_constant_64(x) \
- ((((x) & 0xff00000000000000ull) >> 56) \
- | (((x) & 0x00ff000000000000ull) >> 40) \
- | (((x) & 0x0000ff0000000000ull) >> 24) \
- | (((x) & 0x000000ff00000000ull) >> 8) \
- | (((x) & 0x00000000ff000000ull) << 8) \
- | (((x) & 0x0000000000ff0000ull) << 24) \
- | (((x) & 0x000000000000ff00ull) << 40) \
- | (((x) & 0x00000000000000ffull) << 56))
+ __extension__ \
+ ((((x) & 0xff00000000000000ull) >> 56) \
+ | (((x) & 0x00ff000000000000ull) >> 40) \
+ | (((x) & 0x0000ff0000000000ull) >> 24) \
+ | (((x) & 0x000000ff00000000ull) >> 8) \
+ | (((x) & 0x00000000ff000000ull) << 8) \
+ | (((x) & 0x0000000000ff0000ull) << 24) \
+ | (((x) & 0x000000000000ff00ull) << 40) \
+ | (((x) & 0x00000000000000ffull) << 56))
/* Swap bytes in 64 bit value. */
static __inline unsigned long long