Compiler errors fortran pgi编译错误“;错误数据类型的常量表达式“;

Compiler errors fortran pgi编译错误“;错误数据类型的常量表达式“;,compiler-errors,fortran,fortran90,constant-expression,pgi,Compiler Errors,Fortran,Fortran90,Constant Expression,Pgi,我有一个用Fortran编写的大型软件程序,我正试图编译它。我得到一个错误: PGF90-S-0091-Constant expression of wrong data type (main.f90: 476) PGF90-S-0091-Constant expression of wrong data type (main.f90: 476) PGF90-S-0091-Constant expression of wrong data type (main.f90: 476) 0 info

我有一个用Fortran编写的大型软件程序,我正试图编译它。我得到一个错误:

PGF90-S-0091-Constant expression of wrong data type (main.f90: 476)
PGF90-S-0091-Constant expression of wrong data type (main.f90: 476)
PGF90-S-0091-Constant expression of wrong data type (main.f90: 476) 
0 inform,   0 warnings,   3 severes, 0 fatal for vamp
(由于某种原因,它被打印了3次) 相关行摘录如下。第476行有标签,所有其他相关行包括“NTYPD”

有没有办法改变代码,让PGI满意?或者,我可以强迫PGI对某个特定选项感到满意吗

谢谢

INTEGER :: NPLWV,MPLWV,NPLWVC,MPLWVC,NTYPD,NIOND,NIONPD,NTYPPD

CALL RD_POSCAR_HEAD(LATT_CUR, T_INFO, &
     &           NIOND,NIONPD, NTYPD,NTYPPD, IO%IU0, IO%IU6)

ALLOCATE(T_INFO%ATOMOM(3*NIOND),T_INFO%RWIGS(NTYPPD),T_INFO%ROPT(NTYPD),T_INFO%POMASS(NTYPD), & 
               T_INFO%DARWIN_V(NTYPD), T_INFO%DARWIN_R(NTYPD),T_INFO%VCA(NTYPD))


476 ALLOCATE(P(NTYPD))

你能为你的代码制作一个可编译的子集,一个展示奇怪行为的子集,然后发布它吗。这样一来,(a)你可能会自己发现问题,(b)我们中的一些人可以剪切-n-paste-n-compile进行更仔细的查看。有点奇怪,错误出现了3次。你确定你选对了吗?特别是,main.f90不是通过预处理从main.f90之类的东西创建的中间文件吗?在这种情况下,请确保发布main.f90中的行而不是main.f90.TYPE(potcar)、ALLOCATABLE::P(:)上面的行是main.f90中的行而不是main.f您是否尝试过使用其他编译器编译?有时不同的编译器提供更好的诊断。。。