2016-12-01 17 views
0

使用以下虛擬代碼來複制問題。PGI 16.9中的行太長。怎麼解決?

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源線太長(pp.f90:6) PGF90-S-0023-語法錯誤 - 不平衡括號(pp.f90:6) 0通知,0的警告, 2格,0致命格

+0

顯示代碼怎麼樣? – Gilles

+0

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 /) –

+0

那就行了。對於除PGI以外的所有Fortran編譯器都可以正常工作。對於PGI,我需要爲繼續添加符號。整個代碼中我有很多這樣的代碼。 –

回答

0

132列限制F90標準,超出此限制是未定義的行爲。雖然是一種痛苦,但從長遠來看,通過添加延續來讓代碼符合規範,您會變得更好。