fortran66のブログ

fortran について書きます。

【メモ帳】intel fortran forall のお漏らしバグ

forall 内の局所変数が漏れる

Intel fortran v.17, v.18 で以下のコードをコンパイルすると、一回目の forall で宣言した局所変数 i が、二回目以降の forall の中でなぜか生きていて、重複宣言だと言って叱られます。二回目以降で forall 内の integer :: を落とせば動きます。

一応、forall の外ではちゃんとスコープ外として扱われます。

intel fortran v.19 beta では直っていました。

エラー		エラー #6418: この名前にはデータ型がすでに割り当てられています。   [I]		D:\Projects\hello\Console6\Console6.f90	7	

f:id:fortran66:20180512165659j:plain

    program forall
      implicit none
      integer :: m(100)
      forall(integer :: i = 1:100) m(i) = i**2
!      print *, i
      print *, m
      forall(integer ::  i = 1:100) m(i) = i
      print *, m
    end program forall

Modern Fortran Explained (Numerical Mathematics and Scientific Computation)

Modern Fortran Explained (Numerical Mathematics and Scientific Computation)

  • 作者: Michael Metcalf,John Reid,Malcolm Cohen
  • 出版社/メーカー: Oxford University Press, U.S.A.
  • 発売日: 2011/05/08
  • メディア: ペーパーバック
  • この商品を含むブログを見る
あいまいみー 8 (バンブーコミックス WINセレクション)

あいまいみー 8 (バンブーコミックス WINセレクション)

あいまいみー (1) (バンブーコミックス 4コマセレクション)

あいまいみー (1) (バンブーコミックス 4コマセレクション)