FORTRAN ループカウンターがループの内側からの関数呼び出しによって変更されました。
FORTRAN では、DO ループでループカウンターを変更することができません。コンパイラーは、ループカウンターを直接変更しようとした場合には検出しますが、仮引数を変更するサブルーチンにループカウンターを渡して変更した場合には検出しません。この診断は、このような場合に出力されます。
ID |
問題箇所 |
説明 |
---|---|---|
1 |
呼び出し位置 |
ループの内側で関数が呼び出された場所 |
2 |
メモリー書き込み |
変数が変更された場所 |
subroutine IModify(k) integer :: k k = k+1 end real, dimension(5) :: a integer :: i do i = 1,5 a(i) = 3.14 call IModify(i) ! do-counter "i" is modified in "IModify" call end do print *,a end
© 2010 Intel Corporation. 無断での引用、転載を禁じます。