diff options
author | Stefan Liebler <stli@linux.ibm.com> | 2019-12-11 15:09:32 +0100 |
---|---|---|
committer | Stefan Liebler <stli@linux.ibm.com> | 2019-12-11 15:12:25 +0100 |
commit | 238adf59db85646ebae47876819bd896dae597bc (patch) | |
tree | bc11e42ee2928d1549b9dfd405fbaee17c9cabfd /sysdeps/s390/fpu/fgetexcptflg.c | |
parent | 7c94d036c17dfd352d11e9bf98e5d84122c1f95e (diff) | |
download | glibc-238adf59db85646ebae47876819bd896dae597bc.tar.gz glibc-238adf59db85646ebae47876819bd896dae597bc.tar.xz glibc-238adf59db85646ebae47876819bd896dae597bc.zip |
S390: Use libc_fe* macros in fe* functions.
This patch updates the s390 specific functions fegetround, fesetround, feholdexcept, fesetenv, feupdateenv, fegetexceptflag, fetestexcept, fesetexceptflag, fetestexceptflag. Now those functions are using the libc_fe* macros if possible. Furthermore fegetexceptflag is now returning the exception from dxc field shifted to the usual exception-flags. Thus a special fetestexceptflag implementation is not needed anymore.
Diffstat (limited to 'sysdeps/s390/fpu/fgetexcptflg.c')
-rw-r--r-- | sysdeps/s390/fpu/fgetexcptflg.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/sysdeps/s390/fpu/fgetexcptflg.c b/sysdeps/s390/fpu/fgetexcptflg.c index 779eec83bc..7231752029 100644 --- a/sysdeps/s390/fpu/fgetexcptflg.c +++ b/sysdeps/s390/fpu/fgetexcptflg.c @@ -17,24 +17,12 @@ License along with the GNU C Library; if not, see <https://www.gnu.org/licenses/>. */ -#include <fenv_libc.h> -#include <fpu_control.h> +#include <fenv_private.h> int fegetexceptflag (fexcept_t *flagp, int excepts) { - fexcept_t temp, newexcepts; - - /* Get the current exceptions. */ - _FPU_GETCW (temp); - newexcepts = excepts << FPC_FLAGS_SHIFT; - if ((temp & FPC_NOT_FPU_EXCEPTION) == 0) - /* Bits 6, 7 of dxc-byte are zero, - thus bits 0-5 of dxc-byte correspond to the flag-bits. - Evaluate flags and last dxc-exception-code. */ - newexcepts |= excepts << FPC_DXC_SHIFT; - - *flagp = temp & newexcepts; + *flagp = libc_fetestexcept_s390 (excepts); /* Success. */ return 0; |