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)