From 4841e6a6c2fa691201fb52dfaf6b6a8920229bac Mon Sep 17 00:00:00 2001 From: Wilco Date: Tue, 24 Jun 2014 11:04:31 +0000 Subject: Use libc calls defined by fenv_private.h to implement several fenv functions rather than duplicating functionality. To make this work for softfp builds, ensure functions in fenv_private are not conditionally compiled. 2014-06-24 Wilco * sysdeps/arm/fegetround.c (fegetround): Call get_rounding_mode. * sysdeps/arm/feholdexcpt.c (feholdexcept): Call libc_feholdexcept_vfp. * sysdeps/arm/fesetround.c (fesetround): Call libc_fesetround_vfp. * sysdeps/arm/fgetexcptflg.c (fegetexceptflag): Call libc_fetestexcept_vfp. * sysdeps/arm/ftestexcept.c (fetestexcept): Call libc_fetestexcept_vfp. * sysdeps/arm/fenv_private.h: Move libc_*_vfp functions outside of __SOFTFP__ ifdef so that they can be built for softfp. --- sysdeps/arm/fegetround.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'sysdeps/arm/fegetround.c') diff --git a/sysdeps/arm/fegetround.c b/sysdeps/arm/fegetround.c index 1c9c151a16..fbad0b3078 100644 --- a/sysdeps/arm/fegetround.c +++ b/sysdeps/arm/fegetround.c @@ -16,22 +16,12 @@ License along with the GNU C Library. If not, see . */ -#include -#include -#include +#include int fegetround (void) { - fpu_control_t fpscr; - - /* FE_TONEAREST is the only supported rounding mode - if a VFP unit isn't present. */ - if (!ARM_HAVE_VFP) - return FE_TONEAREST; - - _FPU_GETCW (fpscr); - return fpscr & FE_TOWARDZERO; + return get_rounding_mode (); } libm_hidden_def (fegetround) -- cgit 1.4.1