我想使用-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来抑制错误失败,但对于旧式字符长度规范我什么都没发现。有人知道相应的旗帜吗?