diff --git a/arch/arm/bits/syscall.h b/arch/arm/bits/syscall.h index 9932c9e..b84db9b 100644 --- a/arch/arm/bits/syscall.h +++ b/arch/arm/bits/syscall.h @@ -1,3 +1,7 @@ +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) +#define __inline inline +#endif + #define __SYSCALL_LL_E(x) \ ((union { long long ll; long l[2]; }){ .ll = x }).l[0], \ ((union { long long ll; long l[2]; }){ .ll = x }).l[1] @@ -7,37 +11,37 @@ long (__syscall)(long, ...); -static inline long __syscall0(long n) +static __inline long __syscall0(long n) { return (__syscall)(n); } -static inline long __syscall1(long n, long a) +static __inline long __syscall1(long n, long a) { return (__syscall)(n, a); } -static inline long __syscall2(long n, long a, long b) +static __inline long __syscall2(long n, long a, long b) { return (__syscall)(n, a, b); } -static inline long __syscall3(long n, long a, long b, long c) +static __inline long __syscall3(long n, long a, long b, long c) { return (__syscall)(n, a, b, c); } -static inline long __syscall4(long n, long a, long b, long c, long d) +static __inline long __syscall4(long n, long a, long b, long c, long d) { return (__syscall)(n, a, b, c, d); } -static inline long __syscall5(long n, long a, long b, long c, long d, long e) +static __inline long __syscall5(long n, long a, long b, long c, long d, long e) { return (__syscall)(n, a, b, c, d, e); } -static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f) +static __inline long __syscall6(long n, long a, long b, long c, long d, long e, long f) { return (__syscall)(n, a, b, c, d, e, f); } diff --git a/arch/i386/bits/syscall.h b/arch/i386/bits/syscall.h index 4b574e9..b9335b3 100644 --- a/arch/i386/bits/syscall.h +++ b/arch/i386/bits/syscall.h @@ -1,3 +1,7 @@ +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) +#define __inline inline +#endif + #define __SYSCALL_LL_E(x) \ ((union { long long ll; long l[2]; }){ .ll = x }).l[0], \ ((union { long long ll; long l[2]; }){ .ll = x }).l[1] @@ -5,7 +9,7 @@ #define __SYSCALL_SSLEN 8 -static inline long __syscall0(long __n) +static __inline long __syscall0(long __n) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n) : "memory"); @@ -14,42 +18,42 @@ static inline long __syscall0(long __n) #ifndef __PIC__ -static inline long __syscall1(long __n, long __a1) +static __inline long __syscall1(long __n, long __a1) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1) : "memory"); return __ret; } -static inline long __syscall2(long __n, long __a1, long __a2) +static __inline long __syscall2(long __n, long __a1, long __a2) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2) : "memory"); return __ret; } -static inline long __syscall3(long __n, long __a1, long __a2, long __a3) +static __inline long __syscall3(long __n, long __a1, long __a2, long __a3) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3) : "memory"); return __ret; } -static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4) +static __inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3), "S"(__a4) : "memory"); return __ret; } -static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) +static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) { unsigned long __ret; __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3), "S"(__a4), "D"(__a5) : "memory"); return __ret; } -static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6) +static __inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6) { unsigned long __ret; __asm__ __volatile__ ("pushl %7 ; pushl %%ebp ; mov 4(%%esp),%%ebp ; int $128 ; popl %%ebp ; popl %%ecx" @@ -59,7 +63,7 @@ static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __ #else -static inline long __syscall1(long __n, long __a1) +static __inline long __syscall1(long __n, long __a1) { unsigned long __ret; __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx" @@ -67,7 +71,7 @@ static inline long __syscall1(long __n, long __a1) return __ret; } -static inline long __syscall2(long __n, long __a1, long __a2) +static __inline long __syscall2(long __n, long __a1, long __a2) { unsigned long __ret; __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx" @@ -75,7 +79,7 @@ static inline long __syscall2(long __n, long __a1, long __a2) return __ret; } -static inline long __syscall3(long __n, long __a1, long __a2, long __a3) +static __inline long __syscall3(long __n, long __a1, long __a2, long __a3) { unsigned long __ret; __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx" @@ -83,7 +87,7 @@ static inline long __syscall3(long __n, long __a1, long __a2, long __a3) return __ret; } -static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4) +static __inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4) { unsigned long __ret; __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx" @@ -92,7 +96,7 @@ static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __ } #if 0 -static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) +static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) { unsigned long __ret; __asm__ __volatile__ ("pushl %2 ; pushl %%ebx ; mov 4(%%esp),%%ebx ; int $128 ; popl %%ebx ; popl %%ecx" @@ -100,13 +104,13 @@ static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __ return __ret; } #else -static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) +static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) { return (__syscall)(__n, __a1, __a2, __a3, __a4, __a5); } #endif -static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6) +static __inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6) { return (__syscall)(__n, __a1, __a2, __a3, __a4, __a5, __a6); } diff --git a/arch/mips/bits/syscall.h b/arch/mips/bits/syscall.h index 6c51bab..795f432 100644 --- a/arch/mips/bits/syscall.h +++ b/arch/mips/bits/syscall.h @@ -1,3 +1,7 @@ +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) +#define __inline inline +#endif + #define __SYSCALL_LL_E(x) \ ((union { long long ll; long l[2]; }){ .ll = x }).l[0], \ ((union { long long ll; long l[2]; }){ .ll = x }).l[1] @@ -7,37 +11,37 @@ long (__syscall)(long, ...); -static inline long __syscall0(long n) +static __inline long __syscall0(long n) { return (__syscall)(n); } -static inline long __syscall1(long n, long a) +static __inline long __syscall1(long n, long a) { return (__syscall)(n, a); } -static inline long __syscall2(long n, long a, long b) +static __inline long __syscall2(long n, long a, long b) { return (__syscall)(n, a, b); } -static inline long __syscall3(long n, long a, long b, long c) +static __inline long __syscall3(long n, long a, long b, long c) { return (__syscall)(n, a, b, c); } -static inline long __syscall4(long n, long a, long b, long c, long d) +static __inline long __syscall4(long n, long a, long b, long c, long d) { return (__syscall)(n, a, b, c, d); } -static inline long __syscall5(long n, long a, long b, long c, long d, long e) +static __inline long __syscall5(long n, long a, long b, long c, long d, long e) { return (__syscall)(n, a, b, c, d, e); } -static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f) +static __inline long __syscall6(long n, long a, long b, long c, long d, long e, long f) { return (__syscall)(n, a, b, c, d, e, f); } diff --git a/arch/x86_64/bits/syscall.h b/arch/x86_64/bits/syscall.h index 567cfcb..e19efb9 100644 --- a/arch/x86_64/bits/syscall.h +++ b/arch/x86_64/bits/syscall.h @@ -1,23 +1,27 @@ +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) +#define __inline inline +#endif + #define __SYSCALL_LL_E(x) (x) #define __SYSCALL_LL_O(x) (x) #define __SYSCALL_SSLEN 8 -static inline long __syscall0(long __n) +static __inline long __syscall0(long __n) { unsigned long __ret; __asm__ __volatile__ ("syscall" : "=a"(__ret) : "a"(__n) : "rcx", "r11", "memory"); return __ret; } -static inline long __syscall1(long __n, long __a1) +static __inline long __syscall1(long __n, long __a1) { unsigned long __ret; __asm__ __volatile__ ("syscall" : "=a"(__ret) : "a"(__n), "D"(__a1) : "rcx", "r11", "memory"); return __ret; } -static inline long __syscall2(long __n, long __a1, long __a2) +static __inline long __syscall2(long __n, long __a1, long __a2) { unsigned long __ret; __asm__ __volatile__ ("syscall" : "=a"(__ret) : "a"(__n), "D"(__a1), "S"(__a2) @@ -25,7 +29,7 @@ static inline long __syscall2(long __n, long __a1, long __a2) return __ret; } -static inline long __syscall3(long __n, long __a1, long __a2, long __a3) +static __inline long __syscall3(long __n, long __a1, long __a2, long __a3) { unsigned long __ret; __asm__ __volatile__ ("syscall" : "=a"(__ret) : "a"(__n), "D"(__a1), "S"(__a2), @@ -33,7 +37,7 @@ static inline long __syscall3(long __n, long __a1, long __a2, long __a3) return __ret; } -static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4) +static __inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4) { unsigned long __ret; register long __r10 __asm__("r10") = __a4; @@ -42,7 +46,7 @@ static inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __ return __ret; } -static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) +static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5) { unsigned long __ret; register long __r10 __asm__("r10") = __a4; @@ -52,7 +56,7 @@ static inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __ return __ret; } -static inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6) +static __inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6) { unsigned long __ret; register long __r10 __asm__("r10") = __a4; diff --git a/include/byteswap.h b/include/byteswap.h index 8689cd5..347ceb4 100644 --- a/include/byteswap.h +++ b/include/byteswap.h @@ -3,26 +3,21 @@ #include -#if __STDC_VERSION__ >= 199901L -inline +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) +#define __inline inline #endif -static uint16_t __bswap_16(uint16_t __x) + +__inline static uint16_t __bswap_16(uint16_t __x) { return __x<<8 | __x>>8; } -#if __STDC_VERSION__ >= 199901L -inline -#endif -static uint32_t __bswap_32(uint32_t __x) +__inline static uint32_t __bswap_32(uint32_t __x) { return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; } -#if __STDC_VERSION__ >= 199901L -inline -#endif -static uint64_t __bswap_64(uint64_t __x) +__inline 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 41ca171..0f68b1f 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 -#if __STDC_VERSION__ >= 199901L -inline -#endif -static uint16_t __bswap16(uint16_t __x) +__inline static uint16_t __bswap16(uint16_t __x) { return __x<<8 | __x>>8; } -#if __STDC_VERSION__ >= 199901L -inline -#endif -static uint32_t __bswap32(uint32_t __x) +__inline static 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) +__inline static uint64_t __bswap64(uint64_t __x) { return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32); } diff --git a/include/math.h b/include/math.h index 2fdcb7b..f752a35 100644 --- a/include/math.h +++ b/include/math.h @@ -5,6 +5,10 @@ extern "C" { #endif +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) +#define __inline inline +#endif + #define __NEED_float_t #define __NEED_double_t #define __NEED___uint16_t @@ -83,10 +87,7 @@ int __signbitl(long double); #define isunordered(x,y) (isnan((x)) ? ((void)(y),1) : isnan((y))) -#if __STDC_VERSION__ >= 199901L -inline -#endif -static int __isrel(long double __x, long double __y, int __rel) +__inline static int __isrel(long double __x, long double __y, int __rel) { if (isunordered(__x, __y)) return 0; if (__rel==-2) return __x < __y;