! { dg-do compile } ! Test the fix for PR43492, in which the generic call caused and ICE. ! ! Contributed by Salvatore Filippone ! module base_mod type :: base_mat integer, private :: m, n contains procedure, pass(a) :: transp1 => base_transp1 generic, public :: transp => transp1 procedure, pass(a) :: transc1 => base_transc1 generic, public :: transc => transc1 end type base_mat contains subroutine base_transp1(a) implicit none class(base_mat), intent(inout) :: a integer :: itmp itmp = a%m a%m = a%n a%n = itmp end subroutine base_transp1 subroutine base_transc1(a) implicit none class(base_mat), intent(inout) :: a call a%transp() !!$ call a%transp1() end subroutine base_transc1 end module base_mod