The code below produces an internal compiler error, if the /debug:full option is enabled.
program main implicit none real :: foo(2,2) foo = 1.0 call testSub(foo) contains subroutine testSub(matrix) class(*), intent(inout) :: matrix(:,:) ! << This works ! class(*), intent(inout) :: matrix(2,2) ! << This fails select type(local => matrix) type is (real) end select end subroutine testSub end program
Compiler: Intel(R) Visual Fortran Compiler XE 15.0 Update 2 for Windows