gfortran无法使用-Wmaybe-uninitialize捕获明显的未初始化变量

时间:2018-11-17 00:43:59

标签: fortran gfortran

似乎gfortran的-Wmaybe-uninitialize选项不够聪明,无法捕获明显的未初始化变量。例如:

program main
implicit none
integer:: i,j
j=i
write(*,*) i
end program

$ gfortran -Wall -Wmaybe-uninitialized main.f90

不发出警告。但是在注释掉写语句时,gfortran会给出正确的警告信息。这很微妙。

1 个答案:

答案 0 :(得分:2)

-Wall-Wuninitialized都会使用gfortran 7.2.0生成警告。 -Wall -Wmaybe-uninitialized也会发出警告,但仅-Wmaybe-uninitialized是不够的。该变量在此处具有明显的未初始化字符。

考虑将gfortran更新到最新版本。