blob: 01d8e640621e9b76741bc498288782dcdd486d11 [file] [log] [blame]
! { dg-do compile }
! PR fortran/83515 - ICE: Invalid expression in gfc_element_size
! PR fortran/85797 - ICE in gfc_element_size, at fortran/target-memory.c:126
! PR fortran/89904 - ICE in gfortran starting with r270045
recursive subroutine a
c = transfer (a, b) ! { dg-error "'SOURCE' argument of 'TRANSFER'" }
end
recursive subroutine d
c = transfer (b, d) ! { dg-error "'MOLD' argument of 'TRANSFER'" }
end
subroutine f
use, intrinsic :: iso_c_binding
integer(c_intptr_t) :: b, c
procedure(), pointer :: a
c = transfer (a, b)
c = transfer (transfer (b, a), b)
end
module m
contains
function f () result (z)
class(*), pointer :: z
end function f
recursive subroutine s (q)
procedure(f) :: q
call s (q)
end subroutine s
end