小编pea*_*eze的帖子

Fortran 2018+ 中过时的 DO 循环

我正在使用可能在最新版本的 gfortran 之前编写的源代码。我知道 DO、END DO 和 CONTINUE 的方式已更改,因此无法共享循环终止。有一个方便的链接在这里。问题是,我不知道该页面上的解释真正告诉我要做什么。如果我在新脚本中设置了一个非常基本的 DO 循环,它编译时不会出错。我不确定如何对其进行逆向工程以找出问题所在。

这是返回错误消息的代码的一部分。

              DO 20 II = I1, I2
              IW = ICN(II)
!             Has node iw been on stack already?
              IF (NUMB(IW)==0) GOTO 70
!             Update value of LOWL(IV) if necessary.
20          LOWL(IV) = MIN(LOWL(IV),LOWL(IW))

!           There are no more edges leaving node IV.
            ARP(IV) = -1
!           Is node IV the root of a block.
30          IF (LOWL(IV)<NUMB(IV)) GOTO 60

!           Order nodes in a block.
            NUM = NUM …
Run Code Online (Sandbox Code Playgroud)

fortran loops gfortran

5
推荐指数
2
解决办法
1871
查看次数

标签 统计

fortran ×1

gfortran ×1

loops ×1