summaryrefslogtreecommitdiffstats
path: root/lib/msun/amd64/fenv.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/msun/amd64/fenv.c')
-rw-r--r--lib/msun/amd64/fenv.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/msun/amd64/fenv.c b/lib/msun/amd64/fenv.c
index e126070..c543bd5 100644
--- a/lib/msun/amd64/fenv.c
+++ b/lib/msun/amd64/fenv.c
@@ -29,8 +29,14 @@
#include <sys/cdefs.h>
#include <sys/types.h>
#include <machine/fpu.h>
+
+#define __fenv_static
#include <fenv.h>
+#ifdef __GNUC_GNU_INLINE__
+#error "This file must be compiled with C99 'inline' semantics"
+#endif
+
const fenv_t __fe_dfl_env = {
{ 0xffff0000 | __INITIAL_FPUCW__,
0xffff0000,
@@ -41,6 +47,9 @@ const fenv_t __fe_dfl_env = {
__INITIAL_MXCSR__
};
+extern inline int feclearexcept(int __excepts);
+extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts);
+
int
fesetexceptflag(const fexcept_t *flagp, int excepts)
{
@@ -69,6 +78,10 @@ feraiseexcept(int excepts)
return (0);
}
+extern inline int fetestexcept(int __excepts);
+extern inline int fegetround(void);
+extern inline int fesetround(int __round);
+
int
fegetenv(fenv_t *envp)
{
@@ -98,6 +111,8 @@ feholdexcept(fenv_t *envp)
return (0);
}
+extern inline int fesetenv(const fenv_t *__envp);
+
int
feupdateenv(const fenv_t *envp)
{
OpenPOWER on IntegriCloud