about summary refs log tree commit diff
path: root/sysdeps/arm/fraiseexcpt.c
diff options
context:
space:
mode:
authorWilco <wdijkstr@arm.com>2014-05-15 15:18:40 +0100
committerMarcus Shawcroft <marcus.shawcroft@arm.com>2014-05-15 15:23:27 +0100
commit1a2f40e5d14ed6450696feacf04fca5eeceae7ef (patch)
treef08d34c9426d8833b6daef1509a1ac431e0b3c0b /sysdeps/arm/fraiseexcpt.c
parentcf26a0cb6a0bbaca46a01ddad6662e5e5159a32a (diff)
downloadglibc-1a2f40e5d14ed6450696feacf04fca5eeceae7ef.tar.gz
glibc-1a2f40e5d14ed6450696feacf04fca5eeceae7ef.tar.xz
glibc-1a2f40e5d14ed6450696feacf04fca5eeceae7ef.zip
ARM: Improve fenv implementation
Diffstat (limited to 'sysdeps/arm/fraiseexcpt.c')
-rw-r--r--sysdeps/arm/fraiseexcpt.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sysdeps/arm/fraiseexcpt.c b/sysdeps/arm/fraiseexcpt.c
index 8b320651eb..a964cb01d4 100644
--- a/sysdeps/arm/fraiseexcpt.c
+++ b/sysdeps/arm/fraiseexcpt.c
@@ -25,9 +25,12 @@
 int
 feraiseexcept (int excepts)
 {
-  if (ARM_HAVE_VFP)
+  /* Fail if a VFP unit isn't present unless nothing needs to be done.  */
+  if (!ARM_HAVE_VFP)
+    return (excepts != 0);
+  else
     {
-      int fpscr;
+      fpu_control_t fpscr;
       const float fp_zero = 0.0, fp_one = 1.0, fp_max = FLT_MAX,
                   fp_min = FLT_MIN, fp_1e32 = 1.0e32f, fp_two = 2.0,
 		  fp_three = 3.0;
@@ -98,9 +101,6 @@ feraiseexcept (int excepts)
       /* Success.  */
       return 0;
     }
-
-  /* Unsupported, so fail unless nothing needs to be done.  */
-  return (excepts != 0);
 }
 
 libm_hidden_def (feraiseexcept)