コード モジュール (Fortran F90 ファイル) を定義し、次の 2 つのサブルーチンを提供しました。
pure Subroutine XRotation (x, y, z, Xrot, xp, yp, zp)
! Rotate about X-axis through the angle Xrot
real*4, INTENT(IN) :: x, y, z, xrot
real*4, INTENT(OUT) :: xp, yp, zp
real*4 xrad
Xrad = Xrot * 3.141592627 / 180 ! Convert to radians
yp = y * COS(Xrad) + z * SIN(Xrad)
xp = x
zp = z * COS(Xrad) - y * SIN(Xrad)
END
Pure Subroutine DummyDummy()
Call XRotation(1,2,3,4,5,6,7)
End Subroutine
コンパイラ (Intel Fortran 12、32 ビット Windows を対象とするものは何でも) は、1 つのエラー メッセージを返します。
error #7137: PURE プロシージャで参照されるすべてのプロシージャ (定義された操作または代入を介して参照されるものを含む) は、PURE を明示的に宣言する必要があります。【エクスローテーション】
私は少し困惑しています。PURE サブルーチン「DummyDummy」がコンパイルされるように、このコードを変更するにはどうすればよいですか?