re PR fortran/88678 (Many gfortran.dg/ieee/ieee_X.f90 test cases fail starting with r267465)
PR fortran/88678 * config/fpu-glibc.h (support_fpu_trap): Do not try to enable exceptions to determine if exception is supported. From-SVN: r268402
This commit is contained in:
parent
9f4e09a89a
commit
05dfdd6c5a
|
@ -1,3 +1,9 @@
|
|||
2019-01-30 Uroš Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR fortran/88678
|
||||
* config/fpu-glibc.h (support_fpu_trap): Do not try to enable
|
||||
exceptions to determine if exception is supported.
|
||||
|
||||
2019-01-30 Uroš Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR fortran/88678
|
||||
|
|
|
@ -129,41 +129,7 @@ get_fpu_trap_exceptions (void)
|
|||
int
|
||||
support_fpu_trap (int flag)
|
||||
{
|
||||
int exceptions = 0;
|
||||
int old;
|
||||
|
||||
if (!support_fpu_flag (flag))
|
||||
return 0;
|
||||
|
||||
#ifdef FE_INVALID
|
||||
if (flag & GFC_FPE_INVALID) exceptions |= FE_INVALID;
|
||||
#endif
|
||||
|
||||
#ifdef FE_DIVBYZERO
|
||||
if (flag & GFC_FPE_ZERO) exceptions |= FE_DIVBYZERO;
|
||||
#endif
|
||||
|
||||
#ifdef FE_OVERFLOW
|
||||
if (flag & GFC_FPE_OVERFLOW) exceptions |= FE_OVERFLOW;
|
||||
#endif
|
||||
|
||||
#ifdef FE_UNDERFLOW
|
||||
if (flag & GFC_FPE_UNDERFLOW) exceptions |= FE_UNDERFLOW;
|
||||
#endif
|
||||
|
||||
#ifdef FE_DENORMAL
|
||||
if (flag & GFC_FPE_DENORMAL) exceptions |= FE_DENORMAL;
|
||||
#endif
|
||||
|
||||
#ifdef FE_INEXACT
|
||||
if (flag & GFC_FPE_INEXACT) exceptions |= FE_INEXACT;
|
||||
#endif
|
||||
|
||||
old = feenableexcept (exceptions);
|
||||
if (old == -1)
|
||||
return 0;
|
||||
fedisableexcept (exceptions & ~old);
|
||||
return 1;
|
||||
return support_fpu_flag (flag);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue