gfortran:名单和变量初始化

时间:2013-10-11 06:33:53

标签: gfortran intel-fortran

我从ifort移植到gfortran并遇到以下代码问题:

MODULE test
IMPLICIT NONE

REAL*8 :: a

CONTAINS

SUBROUTINE load
  a = 0.0d0
  NAMELIST /materialProperties/ a
END SUBROUTINE load

END MODULE test

我会收到有关名单的编译错误。无论如何,如果禁用变量初始化(a = 0.0d0注释),则错误消失。这不在英特尔编译器中,我想知道为什么会这样。

1 个答案:

答案 0 :(得分:2)

问题在于在为变量NAMELIST提供值后定义a 。如您所见,删除/评论该行会删除错误,但将a的声明移至SUBROUTINE load也是如此。

我的猜测是ifort会忽略该行,而gfortran则不会。