I just upgraded to Intel Fortran 16.0, and some code that compiled fine in 15 is now giving me an Internal Compiler Error (C0000005). I've reduced the example to the 20 or so lines below. The error is only reported when I use the "release" settings; the compile succeeds if I use the "debug" settings. The compile also works if I comment out the two OpenMP lines. The compiler command line includes:
/nologo /debug:full /MP /O3 /assume:buffered_io /fpp /Qopenmp /warn:declarations /warn:unused /warn:truncated_source /warn:uncalled /warn:interfaces /module:"x64\Release\Intermediate\\" /object:"x64\Release\Intermediate\\" /Fd"x64\Release\Intermediate\vc110.pdb" /traceback /check:none /libs:static /threads /c
Any help would be very much appreciated!!
module test_module integer n_example end module test_module subroutine test_subroutine(xsum) use test_module implicit none real*8, intent(out) :: xsum(3) integer cur_n xsum = 0d0 n_example = 10 !$omp parallel do reduction(+:xsum) do cur_n = 1, n_example xsum = xsum + 1d0 enddo !$omp end parallel do return end subroutine test_subroutine