blob: 637b39387f040d237064b80f71fca1ba608bb37a [file] [log] [blame]
! { dg-do compile }
!
! PR fortran/48820
!
! Test TYPE(*)
!
! Based on a contributed test case by Walter Spector
!
module mpi_interface
implicit none
interface mpi_send
subroutine MPI_Send (buf, count, datatype, dest, tag, comm, ierr)
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
interface mpi_send2
subroutine MPI_Send2 (buf, count, datatype, dest, tag, comm, ierr)
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)
type(*):: x(*)
call MPI_Send2(x, 1, 1,1,1,j,i)
end
end