aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/arm/ftestexcept.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/arm/ftestexcept.c')
-rw-r--r--sysdeps/arm/ftestexcept.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sysdeps/arm/ftestexcept.c b/sysdeps/arm/ftestexcept.c
index 6c5d3a8288..de082b281a 100644
--- a/sysdeps/arm/ftestexcept.c
+++ b/sysdeps/arm/ftestexcept.c
@@ -16,18 +16,23 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-#include <fenv_private.h>
+#include <fenv.h>
+#include <fpu_control.h>
#include <arm-features.h>
int
fetestexcept (int excepts)
{
+ fpu_control_t fpscr;
+
/* Return no exception flags if a VFP unit isn't present. */
if (!ARM_HAVE_VFP)
return 0;
- return libc_fetestexcept_vfp (excepts);
-}
+ /* Get current exceptions. */
+ _FPU_GETCW (fpscr);
+ return fpscr & excepts & FE_ALL_EXCEPT;
+}
libm_hidden_def (fetestexcept)