compiler-construction - 使用ifort 11.0编译时出现语法错误

标签 compiler-construction fortran syntax-error intel intel-fortran

我有一个.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 122:如下修改您的源代码

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/

相关文章:

c++ - 为什么在我键入名称时我的可执行文件不会运行? (Mac OS X 山狮) Mac OS X 10.8.2

javascript - JS 无效/意外 token : ��#

java - 在 ANTLR 版本 4 中构建 AST

java - 导入语句字节码意义

matrix - 如何从 QR 分解输出中获取 Q?

fortran - 从 Fortran 77 代码(公共(public) block 和等价的组合)转移到 Fortran 90

gcc - 为-Wimplicit-interface禁用-Werror

java - 我更改了jre,现在所有程序都有错误

php - Laravel不上我的课

c++ - 使用不同的编译器输入 char* 时出现奇怪的输出