1
1

Add weak symbols for the MPI-3.1 MPI_Alloc_mem_cptr fortran subroutine.

This subroutine was added in an errata to MPI-3.0; here's the MPI
Forum ticket about it:
    
    https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/390

This commit was SVN r29385.
Этот коммит содержится в:
Jeff Squyres 2013-10-04 22:43:40 +00:00
родитель c08f97b030
Коммит 9f9fb5ce38
3 изменённых файлов: 23 добавлений и 0 удалений

Просмотреть файл

@ -27,6 +27,12 @@
#pragma weak pmpi_alloc_mem_ = ompi_alloc_mem_f
#pragma weak pmpi_alloc_mem__ = ompi_alloc_mem_f
/* Extra pragmas for the _cptr variant from MPI-3.1 */
#pragma weak PMPI_ALLOC_MEM_CPTR = ompi_alloc_mem_f
#pragma weak pmpi_alloc_mem_cptr = ompi_alloc_mem_f
#pragma weak pmpi_alloc_mem_cptr_ = ompi_alloc_mem_f
#pragma weak pmpi_alloc_mem_cptr__ = ompi_alloc_mem_f
#pragma weak PMPI_Alloc_mem_f = ompi_alloc_mem_f
#pragma weak PMPI_Alloc_mem_f08 = ompi_alloc_mem_f
#elif OMPI_PROFILE_LAYER
@ -45,6 +51,12 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_ALLOC_MEM,
#pragma weak mpi_alloc_mem_ = ompi_alloc_mem_f
#pragma weak mpi_alloc_mem__ = ompi_alloc_mem_f
/* Extra pragmas for the _cptr variant from MPI-3.1 */
#pragma weak MPI_ALLOC_MEM_CPTR = ompi_alloc_mem_f
#pragma weak mpi_alloc_mem_cptr = ompi_alloc_mem_f
#pragma weak mpi_alloc_mem_cptr_ = ompi_alloc_mem_f
#pragma weak mpi_alloc_mem_cptr__ = ompi_alloc_mem_f
#pragma weak MPI_Alloc_mem_f = ompi_alloc_mem_f
#pragma weak MPI_Alloc_mem_f08 = ompi_alloc_mem_f
#endif

Просмотреть файл

@ -88,6 +88,8 @@ PN2(void, MPI_Address, mpi_address, MPI_ADDRESS, (char *location, MPI_Fint *addr
PN2(void, MPI_Allgather, mpi_allgather, MPI_ALLGATHER, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *ierr));
PN2(void, MPI_Allgatherv, mpi_allgatherv, MPI_ALLGATHERV, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *ierr));
PN2(void, MPI_Alloc_mem, mpi_alloc_mem, MPI_ALLOC_MEM, (MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *ierr));
/* Extra Alloc_mem prototype for the _cptr variant added in MPI-3.0 errata */
PN2(void, MPI_Alloc_mem_cptr, mpi_alloc_mem_cptr, MPI_ALLOC_MEM_CPTR, (MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *ierr));
PN2(void, MPI_Allreduce, mpi_allreduce, MPI_ALLREDUCE, (char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *ierr));
PN2(void, MPI_Alltoall, mpi_alltoall, MPI_ALLTOALL, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *ierr));
PN2(void, MPI_Alltoallv, mpi_alltoallv, MPI_ALLTOALLV, (char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *rdispls, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *ierr));

Просмотреть файл

@ -248,6 +248,15 @@ subroutine MPI_Alloc_mem(size, info, baseptr, ierror)
integer, intent(out) :: ierror
end subroutine MPI_Alloc_mem
subroutine MPI_Alloc_mem_cptr(size, info, baseptr, ierror)
use, intrinsic :: iso_c_binding, only : c_ptr
include 'mpif-config.h'
integer(kind=MPI_ADDRESS_KIND), intent(in) :: size
integer, intent(in) :: info
type(c_ptr), intent(out) :: baseptr
integer, intent(out) :: ierror
end subroutine MPI_Alloc_mem_cptr
end interface
interface PMPI_Alloc_mem