summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/byteswap.h15
-rw-r--r--include/endian.h15
2 files changed, 24 insertions, 6 deletions
diff --git a/include/byteswap.h b/include/byteswap.h
index 4ebd90e3..8689cd57 100644
--- a/include/byteswap.h
+++ b/include/byteswap.h
@@ -3,17 +3,26 @@
#include <stdint.h>
-static inline uint16_t __bswap_16(uint16_t __x)
+#if __STDC_VERSION__ >= 199901L
+inline
+#endif
+static uint16_t __bswap_16(uint16_t __x)
{
return __x<<8 | __x>>8;
}
-static inline uint32_t __bswap_32(uint32_t __x)
+#if __STDC_VERSION__ >= 199901L
+inline
+#endif
+static uint32_t __bswap_32(uint32_t __x)
{
return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
}
-static inline uint64_t __bswap_64(uint64_t __x)
+#if __STDC_VERSION__ >= 199901L
+inline
+#endif
+static uint64_t __bswap_64(uint64_t __x)
{
return __bswap_32(__x)+0ULL<<32 | __bswap_32(__x>>32);
}
diff --git a/include/endian.h b/include/endian.h
index a08c1b63..9652c30b 100644
--- a/include/endian.h
+++ b/include/endian.h
@@ -16,17 +16,26 @@
#include <stdint.h>
-static inline uint16_t __bswap16(uint16_t __x)
+#if __STDC_VERSION__ >= 199901L
+inline
+#endif
+static uint16_t __bswap16(uint16_t __x)
{
return __x<<8 | __x>>8;
}
-static inline uint32_t __bswap32(uint32_t __x)
+#if __STDC_VERSION__ >= 199901L
+inline
+#endif
+static uint32_t __bswap32(uint32_t __x)
{
return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
}
-static inline uint64_t __bswap64(uint64_t __x)
+#if __STDC_VERSION__ >= 199901L
+inline
+#endif
+static uint64_t __bswap64(uint64_t __x)
{
return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32);
}