You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Intel ifx编译器因假定秩哑元声明空格报错问题咨询

Fortran假定秩哑元代码的Intel ifx编译报错问题

问题代码

Module assumed_rank_module

  Implicit None

Contains

  Pure Function assumed_rank( a ) Result( s )

    Integer :: s

    Real, Dimension( .. ), Intent( In ) :: a

    s = Size( a )

  End Function assumed_rank
  
End Module assumed_rank_module

问题描述

这段包含假定秩哑元的Fortran代码可正常通过gfortran 15.2.0、amdflang 21.0.0git、nvfortran 25.9编译,但使用Intel ifx 2025.2.0编译时,会因Dimension( .. )中..后的空格触发错误#5145,移除该空格后编译恢复正常。此前ifx曾曝出合规性问题,需明确该报错是否合理,是否属于编译器自身问题。

结论

这个报错不合理,属于Intel ifx的编译器问题。根据Fortran 2018及后续标准,假定秩数组的声明语法DIMENSION(..)中,..前后的空白字符是允许的——Fortran标准对空白的处理规则中,除了少数必须连续的符号(比如==、/=这类运算符),大部分语法元素间的空白仅作为分隔,不影响语法合法性。其他主流Fortran编译器均能正确解析带空格的( .. )写法,进一步说明ifx此处的语法解析存在疏漏,属于合规性bug。

内容的提问来源于stack exchange,提问作者Ian Bush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 23:12:09