I am using Intel(R) Visual Fortran Compiler 16.0.1.146. When I compile the following sample program, the compiler crashes with:
fortcom: Fatal: There has been an internal compiler error (C0000005).
The following compiler options are set:
ifort /nologo /debug:full /Od /heap-arrays0 /Qopenmp /stand:f08 /warn:all /Qtrapuv /Qinit:snan /Qinit:arrays /fpe:0 /module:"x64\Debug\\" /object:"x64\Debug\\" /Fd"x64\Debug\vc100.pdb" /traceback /check:all /libs:static /threads /dbglibs /c /Qvc10
module mymod2 type mytype real,allocatable:: w(:) end type mytype interface operator(*) module procedure vectormult end interface contains function vectormult( a, b ) result(c) implicit none type(mytype),intent(in):: a real,intent(in):: b(:) real,allocatable:: c(:) integer i, n n = size(b) allocate( c(n) ) do i = 1, n c(i) = a%w(i) * b(i) end do return end function vectormult end module mymod2 !------------------------------------------------ module mymod contains subroutine mysub() use mymod2, only: mytype, operator(*) implicit none integer i, m,n real,allocatable:: a(:,:) real,allocatable:: z(:) type(mytype):: x, y m = 100 n = 10 allocate(a(n,m)) allocate( x%w(n), y%w(n), z(n) ) x%w = 1.0 ; y%w = 1.0 z = 1.0 !$OMP parallel default(shared), private(i) !$OMP do schedule(dynamic) do i = 1, m a(:,i) = x * (y * z) end do !$OMP end do !$OMP end parallel return end subroutine mysub end module mymod !------------------------------------------------ program test_ice use mymod, only: mysub implicit none call mysub() stop end program test_ice