https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64022

--- Comment #2 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> ---
Additional (related) issue:

The following program

module precision_module
 implicit none
 integer, parameter :: &
   sp = selected_real_kind( 6,  37)
 integer, parameter :: &
   dp = selected_real_kind(15, 307)
 integer, parameter :: &
   qp = selected_real_kind(30, 291)
end module precision_module

program ch3406

 use precision_module
 use ieee_arithmetic
 implicit none

 real (sp)   :: x0        = 0.0
 real (dp)   :: y0        = 0.0_dp
 real (qp)   :: z0        = 0.0_qp

 real (sp)   :: x1        = 1.0
 real (dp)   :: y1        = 1.0_dp
 real (qp)   :: z1        = 1.0_qp

 real (sp)   :: xnan      = 1.0
 real (dp)   :: ynan      = 1.0_dp
 real (qp)   :: znan      = 1.0_qp

 real (sp)   :: xinfinite = 1.0
 real (dp)   :: yinfinite = 1.0_dp
 real (qp)   :: zinfinite = 1.0_qp

 xinfinite=x1/x0
 yinfinite=y1/y0
 zinfinite=z1/z0
 xnan=x0/x0
 ynan=y0/y0
 znan=z0/z0

 if ( ieee_support_datatype(x1) ) then
   print *,'  32 bit IEEE support'
   print *,'     inf ' , ieee_support_inf(x1)
   print *,'     nan ' , ieee_support_nan(x1)
   print *,' 1/0 finite',ieee_is_finite(xinfinite)
   print *,' 0/0 nan',ieee_is_nan(xnan)
 endif

 if ( ieee_support_datatype(y1) ) then
   print *,'  64 bit IEEE support'
   print *,'     inf ' , ieee_support_inf(y1)
   print *,'     nan ' , ieee_support_nan(y1)
   print *,' 1/0 finite',ieee_is_finite(yinfinite)
   print *,' 0/0 nan',ieee_is_nan(ynan)
 endif

 if ( ieee_support_datatype(z1) ) then
   print *,' 128 bit IEEE support'
   print *,'     inf ' , ieee_support_inf(z1)
   print *,'     nan ' , ieee_support_nan(z1)
   print *,' 1/0 finite',ieee_is_finite(zinfinite)
   print *,' 0/0 nan',ieee_is_nan(znan)
 endif

end program ch3406

generates the following compilation message

d:\document\fortran\third_edition\examples>gfortran ch3406.f90
ch3406.f90:50.26:

   print *,' 1/0 finite',ieee_is_finite(zinfinite)
                         1
Error: There is no specific function for the generic 'ieee_is_finite' at (1)
ch3406.f90:51.23:

   print *,' 0/0 nan',ieee_is_nan(znan)
                      1
Error: There is no specific function for the generic 'ieee_is_nan' at (1)

Reply via email to