如何让gfortran“-Werror”字符* 8编译成功

时间:2015-12-14 11:01:01

标签: fortran gfortran

我想使用-Werror进行构建,但不会因某些问题而失败。

在这种情况下,我有以下程序来展示我希望继续使用的功能,以便将旧版Fortran 77标头包含在Fortran 2003程序中:

PROGRAM gfortran_charstar
  CHARACTER*8 text
  text = 'aaaa'
  PRINT *, text
END PROGRAM gfortran_charstar

使用

进行编译
$ gfortran -std=f2003 -c -o gfortran-charstar-werror.o gfortran-charstar-werror.f90

给出:

gfortran-charstar-werror.f90:2.13:

  CHARACTER*8 text
             1
Warning: Obsolescent feature: Old-style character length at (1)

因此

$ gfortran -std=f2003 -Werror -c -o gfortran-charstar-werror.o gfortran-charstar-werror.f90
gfortran-charstar-werror.f90:2.2:

  CHARACTER*8 text
  1
Error: Unclassifiable statement at (1)

gfortran-charstar-werror.f90:3.9:

  text = 'aaaa'
     1
Error: Can't convert CHARACTER(1) to REAL(4) at (1)

失败。对于其他问题,我可以例如使用-Wno-error = unused-function来抑制错误失败,但对于旧式字符长度规范我什么都没发现。有人知道相应的旗帜吗?

0 个答案:

没有答案