about summary refs log tree commit diff
path: root/include/endian.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/endian.h')
-rw-r--r--include/endian.h19
1 files changed, 7 insertions, 12 deletions
diff --git a/include/endian.h b/include/endian.h
index 41ca1711..528cef31 100644
--- a/include/endian.h
+++ b/include/endian.h
@@ -1,6 +1,10 @@
 #ifndef _ENDIAN_H
 #define _ENDIAN_H
 
+#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
+#define __inline inline
+#endif
+
 #define __LITTLE_ENDIAN 1234
 #define __BIG_ENDIAN 4321
 #define __PDP_ENDIAN 3412
@@ -20,26 +24,17 @@
 
 #include <stdint.h>
 
-#if __STDC_VERSION__ >= 199901L
-inline
-#endif
-static uint16_t __bswap16(uint16_t __x)
+static __inline uint16_t __bswap16(uint16_t __x)
 {
 	return __x<<8 | __x>>8;
 }
 
-#if __STDC_VERSION__ >= 199901L
-inline
-#endif
-static uint32_t __bswap32(uint32_t __x)
+static __inline uint32_t __bswap32(uint32_t __x)
 {
 	return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
 }
 
-#if __STDC_VERSION__ >= 199901L
-inline
-#endif
-static uint64_t __bswap64(uint64_t __x)
+static __inline uint64_t __bswap64(uint64_t __x)
 {
 	return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32);
 }