Hi,
The following code does not compile with nvfortran 24.5 but it does with gfortran (9.5):
module Mod_OneToAllLoop
implicit none
type :: OneToAllBuffer
procedure(FinalizeOneToAll), pointer :: Finalize
end type
type :: OneToAllLoop
!Buffer
type(OneToAllBuffer) :: Buffer
end type
contains
subroutine FinalizeOneToAll(a)
implicit none
class(OneToAllBuffer) :: a
end subroutine
subroutine LoopOneToAll(a)
implicit none
class(OneToAllLoop) :: a
a%Buffer%Finalize => FinalizeOneToAll
!Finalize Buffer
call a%Buffer%Finalize
end subroutine
end module
compiled with:
nvfortran Mod_OneToAllLoop.f90 -c
it returns:
NVFORTRAN-S-0000-Internal compiler error. check_member: member arrived with wrong derived type 633 (Mod_OneToAllLoop.f90: 24)
0 inform, 0 warnings, 1 severes, 0 fatal for looponetoall