【问题标题】:Allocatable array valued function. gfortran vs ifort可分配数组值函数。 gfortran 与 ifort
【发布时间】:2014-04-14 08:46:51
【问题描述】:

为什么这里的 ifort 和 gfortran 有不同的行为?使用 ifort 编译返回 false,使用 gfortran 返回 true。我之前在自己的代码中遇到过这个问题,并决定改用子例程,但最近的一个问题让我质疑这种行为。

function allocateArray(size)
    integer, allocatable, dimension(:) :: allocateArray
    integer size

    allocate(allocateArray(size))

end function allocateArray

从主程序

integer, allocatable, dimension(:) :: a

a = allocateArray(10)
print *, allocated(a)

【问题讨论】:

    标签: fortran gfortran intel-fortran


    【解决方案1】:

    在版本 17.0.1 之前使用 ifort 进行编译时,默认行为是编译器不使用 Fortran 规则进行内部赋值的自动分配。

    您需要使用-assume realloc-lhs 之类的选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 1970-01-01
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多