Fortran コンパイラは、POINTER 仮引数の INTENT 属性をサポートするようになりました。ポインタ仮引数として INTENT(IN)、INTENT(OUT)、または INTENT(INOUT) を指定できます。
例:
subroutine sub(P) integer, pointer, intent(in) :: p ... end
ポインタの INTENT 属性はポインタに適用され、指示先には適用されません。したがって、INTENT(IN) ポインタの場合、次のものはポインタを変更するため無効です。
p => t allocate(p) deallocate(p)
ただし、INTENT(IN) ポインタの場合、次のものは指示先を変更するため有効です。
p = 400