【问题标题】:Line too long in PGI 16.9. How to solve?PGI 16.9 中的行太长。怎么解决?
【发布时间】:2017-04-16 04:51:36
【问题描述】:

使用以下虚拟代码复制问题。

program pp
  implicit none
  real*8,dimension(45) :: refPoints
  refPoints(:) = (/ -1.0 , 1.0 , 1.0 , -1.0 , -1.0 , 1.0 , 1.0 , -1.0 , 0.0 , 1.0 , 0.0 , -1.0 , 0.0 , 1.0 , 0.0 , -1.0 , -1.0 , 1.0 , 1.0 , -1.0 , 0.0 , 1.0 , 0.0 ,-1.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 1.0, 1.0, 2.0 , 3.0, 34.0, 35.0, 25.0, 1.0, 50.0, 5.0, 55.0 , 1.0 , 2.0, 3.0, 4.0, 5.0/)

end program pp

PGF90-S-0285-Source line too long (pp.f90: 6) PGF90-S-0023-语法错误 - 不平衡括号 (pp.f90: 6) 0 通知,0 警告,2 严重,0 对 pp 致命

【问题讨论】:

  • 显示代码怎么样?
  • refPoints(1,:) = (/ -1.0_rp, 1.0_rp, 1.0_rp, -1.0_rp, -1.0_rp, 1.0_rp, 1.0_rp, -1.0_rp, 0.0_rp, 1.0_rp , 0.0_rp, -1.0_rp, 0.0_rp, 1.0_rp, 0.0\ _rp, -1.0_rp, -1.0_rp, 1.0_rp, 1.0_rp, -1.0_rp, 0.0_rp, 1.0_rp, 0.0_rp, -1.0_rp, 0.0 _rp, 0.0_rp, 0.0_rp /)
  • 就是这样。与除 PGI 之外的所有 fortran 编译器都可以正常工作。对于 PGI,我需要添加 & 符号才能继续。我在整个代码中有很多。
  • 将代码放在问题中,这在评论中不可读。请添加您使用的编译器命令行。
  • 我添加了一个使用 pgfortran 编译的虚拟代码。

标签: openacc pgi-accelerator


【解决方案1】:

132 列是 F90 标准的限制,超出此限制是未定义的行为。虽然很痛苦,但从长远来看,通过添加延续使您的代码合规,您会得到更好的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    • 2015-04-24
    • 2019-01-15
    • 2022-06-15
    • 2014-06-08
    • 1970-01-01
    相关资源
    最近更新 更多