diff options
Diffstat (limited to 'lib/msun/sparc64/fenv.h')
-rw-r--r-- | lib/msun/sparc64/fenv.h | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/lib/msun/sparc64/fenv.h b/lib/msun/sparc64/fenv.h index 8273299..d17361f 100644 --- a/lib/msun/sparc64/fenv.h +++ b/lib/msun/sparc64/fenv.h @@ -31,6 +31,10 @@ #include <sys/_types.h> +#ifndef __fenv_static +#define __fenv_static static +#endif + typedef __uint64_t fenv_t; typedef __uint64_t fexcept_t; @@ -70,7 +74,7 @@ extern const fenv_t __fe_dfl_env; #define __ldxfsr(__r) __asm __volatile("ldx %0, %%fsr" : : "m" (__r)) #define __stxfsr(__r) __asm __volatile("stx %%fsr, %0" : "=m" (*(__r))) -static __inline int +__fenv_static __inline int feclearexcept(int __excepts) { fexcept_t __r; @@ -81,7 +85,7 @@ feclearexcept(int __excepts) return (0); } -static __inline int +__fenv_static inline int fegetexceptflag(fexcept_t *__flagp, int __excepts) { fexcept_t __r; @@ -91,7 +95,7 @@ fegetexceptflag(fexcept_t *__flagp, int __excepts) return (0); } -static __inline int +__fenv_static inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts) { fexcept_t __r; @@ -108,7 +112,7 @@ fesetexceptflag(const fexcept_t *__flagp, int __excepts) * inline this function on sparc64 even when the arguments are not * compile-time constants. Perhaps this depends on the register window. */ -static __inline int +__fenv_static inline int feraiseexcept(int __excepts) { volatile double d; @@ -143,7 +147,7 @@ feraiseexcept(int __excepts) return (0); } -static __inline int +__fenv_static inline int fetestexcept(int __excepts) { fexcept_t __r; @@ -152,7 +156,7 @@ fetestexcept(int __excepts) return (__r & __excepts); } -static __inline int +__fenv_static inline int fegetround(void) { fenv_t __r; @@ -161,7 +165,7 @@ fegetround(void) return ((__r >> _ROUND_SHIFT) & _ROUND_MASK); } -static __inline int +__fenv_static inline int fesetround(int __round) { fenv_t __r; @@ -175,7 +179,7 @@ fesetround(int __round) return (0); } -static __inline int +__fenv_static inline int fegetenv(fenv_t *__envp) { @@ -183,7 +187,7 @@ fegetenv(fenv_t *__envp) return (0); } -static __inline int +__fenv_static inline int feholdexcept(fenv_t *__envp) { fenv_t __r; @@ -195,7 +199,7 @@ feholdexcept(fenv_t *__envp) return (0); } -static __inline int +__fenv_static inline int fesetenv(const fenv_t *__envp) { @@ -203,7 +207,7 @@ fesetenv(const fenv_t *__envp) return (0); } -static __inline int +__fenv_static inline int feupdateenv(const fenv_t *__envp) { fexcept_t __r; @@ -216,7 +220,9 @@ feupdateenv(const fenv_t *__envp) #if __BSD_VISIBLE -static __inline int +/* We currently provide no external definitions of the functions below. */ + +static inline int feenableexcept(int __mask) { fenv_t __old_r, __new_r; @@ -227,7 +233,7 @@ feenableexcept(int __mask) return ((__old_r >> _FPUSW_SHIFT) & FE_ALL_EXCEPT); } -static __inline int +static inline int fedisableexcept(int __mask) { fenv_t __old_r, __new_r; @@ -238,7 +244,7 @@ fedisableexcept(int __mask) return ((__old_r >> _FPUSW_SHIFT) & FE_ALL_EXCEPT); } -static __inline int +static inline int fegetexcept(void) { fenv_t __r; |