我有一个.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
来说明如何编译它
答案 0 :(得分:1)
实际上这是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) /)