Compile error: ` fatal error: gfc_todo: `

Compile error: ` fatal error: gfc_todo: `

当我用

编译我的代码时
     gfortran -O2 calpuff.for -o calpuff.exe 

以下代码:

      REAL FUNCTION R1MACH (I)
C***BEGIN PROLOGUE  R1MACH
C   ...
      real SMALL(2)
      real LARGE(2)
      real RIGHT(2)
      real DIVER(2)
      real LOG10(2)
c --- Set up for IBM PC: declare as reals   ..........(DGS)
C
      REAL RMACH(5)
      SAVE RMACH
C
      EQUIVALENCE (RMACH(1),SMALL(1))
      EQUIVALENCE (RMACH(2),LARGE(1))
      EQUIVALENCE (RMACH(3),RIGHT(1))
      EQUIVALENCE (RMACH(4),DIVER(1))
      EQUIVALENCE (RMACH(5),LOG10(1))
C   ...
      DATA SMALL(1) / 1.18E-38      /
      DATA LARGE(1) / 3.40E+38      /
      DATA RIGHT(1) / 0.595E-07     /
      DATA DIVER(1) / 1.19E-07      /
      DATA LOG10(1) / 0.30102999566 /
C   ...
C***FIRST EXECUTABLE STATEMENT  R1MACH
      IF (I .LT. 1 .OR. I .GT. 5) CALL XERMSG ('SLATEC', 'R1MACH',
     +   'I OUT OF BOUNDS', 1, 2)
C
      R1MACH = RMACH(I)
      RETURN
C
      END

结果显示如下错误:

    calpuff.for: In function ‘r1mach’:
    calpuff.for:58522: fatal error: gfc_todo: Not Implemented: Initialization of overlapping variables
    compilation terminated.

第 58522 行对应于所示代码的第一行。

为什么会出现这个错误?

关于我的编译器的一些信息:gcc 版本 4.1.2 20080704 (Red Hat 4.1.2-54)

这是 gfortran 中的一个已知编译器错误,请参阅 here and here。此错误已在 2007 年修复。

请更新到 gfortran 的更新版本。