The 7.1 compiler has a bug that causes the compiler to disallow the use of a _dp kind prefix appended to a real constant in a double precision parameter declaration when the /alt option is used to compile. A reproducer:
MODULE knd_mod
IMPLICIT NONE
integer, parameter :: dp=kind(1d0)
END MODULE knd_mod
PROGRAM test_knd
USE knd_mod
IMPLICIT NONE
REAL (dp), PARAMETER :: one = 1.0_dp
write(*,*)' dp = ',dp, ', One = ',one
END program
If the /alt compiler option is used, the compiler objects to the _dp kind suffix in the line containing 'REAL (dp), PARAMETER':
[FTN95/Win32 Ver. 7.10.0 Copyright (c) Silverfrost Ltd 1993-2014]
PROCESSING MODULE [<KND_MOD> FTN95/Win32 v7.10.0]
NO ERRORS [<KND_MOD> FTN95/Win32 v7.10.0]
0010) REAL (dp), PARAMETER :: one = 1.0_dp
*** KIND parameter out of range, permitted KINDs are 1, 2, or 3
1 ERROR [<TEST_KND> FTN95/Win32 v7.10.0]
*** Compilation failed
The error does not occur if the /alt option is not used.
[P.S., 15 June 2015: This bug is not present in FTN95-7.20]