summaryrefslogtreecommitdiffstats
path: root/lib/msun/sparc64/fenv.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/msun/sparc64/fenv.h')
-rw-r--r--lib/msun/sparc64/fenv.h34
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;
OpenPOWER on IntegriCloud