blob: 5f4c553d989b6fa9dd1978368ad0653edaf0b1cd [file] [log] [blame]
! { dg-do compile }
!
! PR fortran/57035
!
!
subroutine assumed_rank (a)
use iso_c_binding
integer, intent(in), target :: a(..)
integer :: c(1:4)
type(c_ptr) :: xx
c = ubound(c,a) ! { dg-error "Assumed-rank argument at .1. is only permitted as first actual argument to the intrinsic inquiry function ubound" }
c = transfer(a,1) ! { dg-error "Assumed-rank argument at .1. is only permitted as actual argument to intrinsic inquiry functions" }
xx = c_loc(a)
end subroutine
subroutine assumed_type (a)
use iso_c_binding
type(*), intent(in), target :: a
integer :: c(1:4)
type(c_ptr) :: xx
c = ubound(c,a) ! { dg-error "Assumed-type argument at .1. is only permitted as first actual argument to the intrinsic ubound" }
c = transfer(a,1) ! { dg-error "Assumed-type argument at .1. is not permitted as actual argument to the intrinsic transfer" }
xx = c_loc(a)
end subroutine
subroutine no_arg_check (a)
use iso_c_binding
integer, intent(in), target :: a
!gcc$ attributes no_arg_check :: a
integer :: c(1:4)
type(c_ptr) :: xx
c = ubound(c,a) ! { dg-error "Variable with NO_ARG_CHECK attribute at .1. is only permitted as argument to the intrinsic functions C_LOC and PRESENT" }
c = transfer(a,1) ! { dg-error "Variable with NO_ARG_CHECK attribute at .1. is only permitted as argument to the intrinsic functions C_LOC and PRESENT" }
xx = c_loc(a)
end subroutine