module m use, intrinsic :: iso_fortran_env, only : i4 => int32, i8 => int64 implicit none type :: base_t(k,n,m) integer, kind :: k = i4 integer, len :: n = 1 integer, len :: m = 1 end type base_t type, extends(base_t) :: t integer(kind=k) :: a(n,m) end type t interface assignment(=) module procedure seta_i4 module procedure seta_i8 end interface contains subroutine seta_i4(t_lhs, a_rhs) class(t(k=i4,n=*,m=*)), intent(inout) :: t_lhs integer(kind=i4), intent(in) :: a_rhs(:,:) t_lhs%a = a_rhs return end subroutine seta_i4 subroutine seta_i8(t_lhs, a_rhs) class(t(k=i8,n=*,m=*)), intent(inout) :: t_lhs integer(kind=i8), intent(in) :: a_rhs(:,:) t_lhs%a = a_rhs return end subroutine seta_i8 end module m
1>------ Build started: Project: p, Configuration: Debug x64 ------ 1>Compiling with Intel(R) Visual Fortran Compiler 16.0 [Intel(R) 64]... 1>m.f90 1>m.f90(29): catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error. 1>compilation aborted for m.f90 (code 1)