交集格式错误 'Missing name' 和 Fortran 编译器 Lahey/Fujitsu

Error 'Missing name' with intersection format and Lahey/Fujitsu Fortran compiler

我正在使用 Lahey/Fujitsu Fortran 95 编译器来处理固定格式代码 (.FOR),其中包含许多包含文件。我打算将几个文件更改为 .F90,并希望包含带有 intersection format 的文件(本质上是固定格式,在任何连续行的第 73 列带有一个符号,并且总是在第 6 列中使用符号来开始续行)。

但是我收到一个错误,提示变量未定义。 Lahey 无法使用交叉格式的原因是什么?

相同的代码如果在 GNU 上测试可以正常工作。如果有人知道如何让它在 Lahey 中工作,那就太好了。

  PROGRAM MAIN
  IMPLICIT NONE
  INCLUDE 'test.inc'

  INTEGER*4 index1

  index1 =  1
  Varx   =  2
  Vary   =  3
  Varz   =  4
  Vara   =  5
  PRINT*,"Varx=",Varx

  END PROGRAM MAIN

test.inc

  REAL*4 Varx,Vary,Varz
  REAL*4 Vara
  COMMON /Varx/ Varx,Vary,                                          &
 &              Varz,                                               &
 &              Vara

错误:

column 73: Missing name.
error 1110:  Missing name

编译器Lahey/Fujitsu Fortran 7.7

Compiler Options

如果编译器使用您显示的非常小的代码给出此错误,则编译器不会忽略字符 73 之后的字符,您不能使用交集格式。

尝试在手册中找到一些可以说服它这样做的选项,但您可能根本无法使用此编译器的交集格式。


Linux Lahey 编译器manual 指出字符 72 之后的字符应该被忽略。如果你没有观察到这种行为,你必须向我们展示你的确切编译器版本,告诉我们你是如何使用它的,所有编译器标志并再次检查你是否只编译了上面显示的那四行而不是其他任何内容。