! { dg-do compile } ! ! PR fortran/39505 ! ! Test NO_ARG_CHECK ! Copied from assumed_type_1.f90 ! module mpi_interface implicit none interface !mpi_send subroutine MPI_Send (buf, count, datatype, dest, tag, comm, ierr) !GCC$ attributes NO_ARG_CHECK :: buf integer, intent(in) :: buf integer, intent(in) :: count integer, intent(in) :: datatype integer, intent(in) :: dest integer, intent(in) :: tag integer, intent(in) :: comm integer, intent(out):: ierr end subroutine end interface interface !mpi_send2 subroutine MPI_Send2 (buf, count, datatype, dest, tag, comm, ierr) !GCC$ attributes NO_ARG_CHECK :: buf type(*), intent(in) :: buf(*) integer, intent(in) :: count integer, intent(in) :: datatype integer, intent(in) :: dest integer, intent(in) :: tag integer, intent(in) :: comm integer, intent(out):: ierr end subroutine end interface end module use mpi_interface real :: a(3) integer :: b(3) call foo(a) call foo(b) call foo(a(1:2)) call foo(b(1:2)) call MPI_Send(a, 1, 1,1,1,j,i) call MPI_Send(b, 1, 1,1,1,j,i) call MPI_Send2(a, 1, 1,1,1,j,i) call MPI_Send2(b, 1, 1,1,1,j,i) contains subroutine foo(x) !GCC$ attributes NO_ARG_CHECK :: x real :: x(*) call MPI_Send2(x, 1, 1,1,1,j,i) end end