avoid "inline" in public headers for strict c89 compatibility
while musl itself requires a c99 compiler, some applications insist on being compiled with c89 compilers, and use of "inline" in the headers was breaking them. much of this had been avoided already by just skipping the inline keyword in pre-c99 compilers or modes, but this new unified solution is cleaner and may/should result in better code generation in the default gcc configuration.
This commit is contained in:
parent
3f62f76cab
commit
fb247fafa0
8 changed files with 57 additions and 62 deletions
|
|
@ -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)
|
||||
static __inline int __isrel(long double __x, long double __y, int __rel)
|
||||
{
|
||||
if (isunordered(__x, __y)) return 0;
|
||||
if (__rel==-2) return __x < __y;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue