ieee_arithmetic gfortran 中的内部模块

ieee_arithmetic intrinsic module in gfortran

我需要使用 gfortran 编译依赖于 ieee_arithmetic 的库。但是发现gfortran无法识别这个模块。

例如代码 a.f90

program test
   use,intrinsic :: ieee_arithmetic
   real :: x
   read *, x
   if (ieee_is_nan(x)) then
      print *, "Nan"
   else
   print *, "Not NaN"
end if
end program test

我编译的时候有如下提示

$ gfortran a.f90
a.f90:2.19:

use,intrinsic :: ieee_arithmetic
               1
Fatal Error: Can't find an intrinsic module named 'ieee_arithmetic' at (1)

如何让 gfortran 知道 ieee_arithmetic 内部模块在哪里?

ifort 被发现可以使用ieee_arithmetic 模块。但我希望让 gfortran 为这种情况工作。

从 GFortran 版本 5 开始支持 IEEE 模块。请参阅 https://gcc.gnu.org/gcc-5/changes.html 如果您使用的是旧版本,您应该会看到在 post 中显示的错误消息。