以下はgfortranまたはf95で機能しますが、ifortでは機能しません。
interface add
procedure addr, addi
end interface add
real a, b
integer i, j
data a, b, i, j /1.0, 2.0, 1, 2/
call add(a,b)
call add(i,j)
stop
contains
subroutine addr(x,y)
real x, y
print *, x+y
return
end subroutine addr
subroutine addi(m, n)
integer m, n
print *, m+n
return
end subroutine addi
end
ifortはこのエラーを返します:
error #6643: This statement is incorrectly positioned.
procedure addr, addi
---------^
error #8168: Parentheses are required after the PROCEDURE keyword.
procedure addr, addi
---------^
どのモジュールプロシージャも使用できず(モジュールにaddrとaddiを含めたくない)、ifortをコンパイラとして使用する必要があると想定します。どんな助けでもいただければ幸いです。