summaryrefslogtreecommitdiff
path: root/libm/sh/fesetenv.c
diff options
context:
space:
mode:
authorCarmelo Amoroso <carmelo.amoroso@st.com>2009-01-14 12:49:24 +0000
committerCarmelo Amoroso <carmelo.amoroso@st.com>2009-01-14 12:49:24 +0000
commitc617dd785dde62eb0862c576f679fdd43dcd3a9a (patch)
tree2becfd05a424b92df048332c064f51de847f4c70 /libm/sh/fesetenv.c
parent4c20772b6223bf193dd0f9ec70a3766d3a22c30b (diff)
libm_sh: Re-added sh specific files erroneously removed recently,
and moved under a better folder. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Diffstat (limited to 'libm/sh/fesetenv.c')
-rw-r--r--libm/sh/fesetenv.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/libm/sh/fesetenv.c b/libm/sh/fesetenv.c
new file mode 100644
index 000000000..9f9082cf3
--- /dev/null
+++ b/libm/sh/fesetenv.c
@@ -0,0 +1,27 @@
+/*
+ *
+ * Copyright (c) 2007 STMicroelectronics Ltd
+ * Filippo Arcidiacono (filippo.arcidiacono@st.com)
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ *
+ * Taken from glibc 2.6
+ *
+ */
+
+#include <fenv.h>
+#include <fpu_control.h>
+
+int
+fesetenv (const fenv_t *envp)
+{
+ if (envp == FE_DFL_ENV)
+ _FPU_SETCW (_FPU_DEFAULT);
+ else
+ {
+ unsigned long int temp = envp->__fpscr;
+ _FPU_SETCW (temp);
+ }
+ return 0;
+}
+libm_hidden_def (fesetenv)