移植大量代码 - 争论投诉

时间:2016-04-07 18:10:34

标签: fortran gfortran

我正在向gfortran移植一个​​大代码。此代码符合Fortran 77标准,非常便携,并且与许多不同的编译器一起运行。我希望首先以最小的变化运行它,然后开始清理它。我首先通过f2f90运行它。

到目前为止,我有两个主要问题,因为我有数百个这样的调用:

  1. 我有自己的第二个模仿Cray功能的功能。编译器为以下行提供错误:

    CPTSUM = CPTSUM + SECOND(CPT2) - CPT1

  2. 我相信编译器正在检查它自己的第二个函数,它不能被调用为带有一个参数的函数。我如何让它看看我的呢?

    1. 我有一个通用例程,可以根据具体情况采用单个整数或整数数组。许多电话看起来像这样:

      CALL IERR(444,NERR,NDUM,' ')

    2. 子程序将第3个参数标注为(*)。在此示例中,消息不需要整数或文本,因此NDUM只是一个虚拟标量整数。编译器警告我传递一个标量。 -w解决了这个问题,但可能会停用其他警告。如何让它忽略这个问题?这是一个权宜之计,因为Fortran 77没有可选参数,而且大多数(所有其他?)编译器都没有看到这个。一种解决方案是将函数移动到另一个文件,但这将是一个PITA。

0 个答案:

没有答案