-
- Downloads
Fortran: add IEEE_QUIET_* and IEEE_SIGNALING_* comparisons
Those operations were added to Fortran 2018, and correspond to well-defined IEEE comparison operations, with defined signaling semantics for NaNs. All are implemented in terms of GCC expressions and built-ins, with no library support needed. gcc/fortran/ * f95-lang.cc (gfc_init_builtin_functions): Add __builtin_iseqsig. * trans-intrinsic.cc (conv_intrinsic_ieee_comparison): New function. (gfc_conv_ieee_arithmetic_function): Handle IEEE comparisons. gcc/testsuite/ * gfortran.dg/ieee/comparisons_1.f90: New test. * gfortran.dg/ieee/comparisons_2.f90: New test. * gfortran.dg/ieee/comparisons_3.F90: New test. libgfortran/ * ieee/ieee_arithmetic.F90: Add IEEE_QUIET_* and IEEE_SIGNALING_* functions.
Showing
- gcc/fortran/f95-lang.cc 2 additions, 0 deletionsgcc/fortran/f95-lang.cc
- gcc/fortran/trans-intrinsic.cc 176 additions, 0 deletionsgcc/fortran/trans-intrinsic.cc
- gcc/testsuite/gfortran.dg/ieee/comparisons_1.f90 282 additions, 0 deletionsgcc/testsuite/gfortran.dg/ieee/comparisons_1.f90
- gcc/testsuite/gfortran.dg/ieee/comparisons_2.f90 282 additions, 0 deletionsgcc/testsuite/gfortran.dg/ieee/comparisons_2.f90
- gcc/testsuite/gfortran.dg/ieee/comparisons_3.F90 487 additions, 0 deletionsgcc/testsuite/gfortran.dg/ieee/comparisons_3.F90
- libgfortran/ieee/ieee_arithmetic.F90 69 additions, 0 deletionslibgfortran/ieee/ieee_arithmetic.F90
Loading
Please register or sign in to comment