我有一个.F90文件,其代码类似于
INTEGER, PARAMETER, PUBLIC :: Byte = SELECTED_INT_KIND(1) ! Byte integer
INTEGER, PARAMETER, PUBLIC :: Short = SELECTED_INT_KIND(4) ! Short integer
INTEGER, PARAMETER, DIMENSION( N_IP_KINDS ), PRIVATE :: IP_KIND_TYPES = (/ Byte,Short /)
它使用
ifort 12
成功编译,但是当我使用ifort 11.0
编译时它给出以下错误
ABC.f90(275): error #5082: Syntax error, found ',' when expecting one of: ( %% : . = =>
INTEGER, PARAMETER, DIMENSION( N_IP_KINDS ), PRIVATE :: IP_KIND_TYPES = (/ Byte, &
看起来像编译器错误。
任何人都可以通过对源代码进行任何更改来告诉如何使用
ifort 11.0
对此进行编译
最佳答案
实际上,这是ifort 11.0
中的一个众所周知的错误
您可以通过两种方法克服此问题
1:通过将编译器升级到ifort 12
2:如下修改您的源代码
INTEGER, PARAMETER, PUBLIC :: Byte = SELECTED_INT_KIND(1) ! Byte integer
INTEGER, PARAMETER, PUBLIC :: Short = SELECTED_INT_KIND(4) ! Short integer
INTEGER, PARAMETER, DIMENSION( N_IP_KINDS ), PRIVATE :: IP_KIND_TYPES = (/ SELECTED_INT_KIND(1),SELECTED_INT_KIND(4) /)
关于compiler-construction - 使用ifort 11.0编译时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20866591/