Minor addition:
program foo
implicit none
real(8) :: i
integer, parameter :: q(*) = [(kind(i), integer :: i = 1, 3)]
print *, q
end program foo
This prints
8 8 8
although it should be all 4's. So we really need to create a local
namespace or even block to shadow the host's variable.
Crayftn and NAG accept this too, Intel has a problem report on this.
Harald