The following code compiled with "noprotect_constants" genrates wrong code as it copies only the first field of the constant array!
program-file
/////////////////////////////////////////////////////////////////
program Console1
use source_1
implicit none
INTEGER*4 NAB0
PARAMETER (NAB0 = 3)
INTEGER*4 IAB (NAB0)
PARAMETER (IAB = (/1,4,8 /))
call test(NAB0,IAB)
end program Console1
module-file
////////////////////////////////////////////////////////////////////
module source_1
contains
SUBROUTINE test(NAB,IAB)
IMPLICIT NONE
INTEGER * 4, INTENT(IN), VALUE :: NAB !
INTEGER * 4, INTENT(IN) :: IAB(NAB) !
INTEGER*4 I
I=IAB(2)
END SUBROUTINE
end module
/////////////////////////////////////////////////////////////////////
This bug happens with Version
Intel Visual Fortran Package ID: w_fcompxe_2011.9.300



