1! { dg-do compile } 2! 3! PR fortran/48820 4! 5! Test TYPE(*) 6! 7! Based on a contributed test case by Walter Spector 8! 9module mpi_interface 10 implicit none 11 12 interface mpi_send 13 subroutine MPI_Send (buf, count, datatype, dest, tag, comm, ierr) 14 type(*), intent(in) :: buf(:) 15 integer, intent(in) :: count 16 integer, intent(in) :: datatype 17 integer, intent(in) :: dest 18 integer, intent(in) :: tag 19 integer, intent(in) :: comm 20 integer, intent(out):: ierr 21 end subroutine 22 end interface 23 24 interface mpi_send2 25 subroutine MPI_Send2 (buf, count, datatype, dest, tag, comm, ierr) 26 type(*), intent(in) :: buf(*) 27 integer, intent(in) :: count 28 integer, intent(in) :: datatype 29 integer, intent(in) :: dest 30 integer, intent(in) :: tag 31 integer, intent(in) :: comm 32 integer, intent(out):: ierr 33 end subroutine 34 end interface 35 36end module 37 38use mpi_interface 39 real :: a(3) 40 integer :: b(3) 41 call foo(a) 42 call foo(b) 43 call foo(a(1:2)) 44 call foo(b(1:2)) 45 call MPI_Send(a, 1, 1,1,1,j,i) 46 call MPI_Send(b, 1, 1,1,1,j,i) 47 call MPI_Send2(a, 1, 1,1,1,j,i) 48 call MPI_Send2(b, 1, 1,1,1,j,i) 49contains 50 subroutine foo(x) 51 type(*):: x(*) 52 call MPI_Send2(x, 1, 1,1,1,j,i) 53 end 54end 55