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

问题描述 投票:0回答:1

我有一个 .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
进行编译吗

fortran syntax-error intel-fortran
1个回答
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) /)
© www.soinside.com 2019 - 2024. All rights reserved.