3030#pragma weak pmpi_alloc_mem_ = ompi_alloc_mem_f
3131#pragma weak pmpi_alloc_mem__ = ompi_alloc_mem_f
3232
33- /* Extra pragmas for the _cptr variant from MPI-3.1 */
33+ #pragma weak PMPI_Alloc_mem_f = ompi_alloc_mem_f
34+ #pragma weak PMPI_Alloc_mem_f08 = ompi_alloc_mem_f
35+
3436#pragma weak PMPI_ALLOC_MEM_CPTR = ompi_alloc_mem_f
3537#pragma weak pmpi_alloc_mem_cptr = ompi_alloc_mem_f
3638#pragma weak pmpi_alloc_mem_cptr_ = ompi_alloc_mem_f
3739#pragma weak pmpi_alloc_mem_cptr__ = ompi_alloc_mem_f
3840
39- #pragma weak PMPI_Alloc_mem_f = ompi_alloc_mem_f
40- #pragma weak PMPI_Alloc_mem_f08 = ompi_alloc_mem_f
41+ #pragma weak PMPI_Alloc_mem_cptr_f = ompi_alloc_mem_f
42+ #pragma weak PMPI_Alloc_mem_cptr_f08 = ompi_alloc_mem_f
4143#else
4244OMPI_GENERATE_F77_BINDINGS (PMPI_ALLOC_MEM ,
4345 pmpi_alloc_mem ,
@@ -51,7 +53,7 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_ALLOC_MEM_CPTR,
5153 pmpi_alloc_mem_cptr ,
5254 pmpi_alloc_mem_cptr_ ,
5355 pmpi_alloc_mem_cptr__ ,
54- pompi_alloc_mem_f ,
56+ pompi_alloc_mem_cptr_f ,
5557 (MPI_Aint * size , MPI_Fint * info , char * baseptr , MPI_Fint * ierr ),
5658 (size , info , baseptr , ierr ) )
5759#endif
@@ -63,14 +65,16 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_ALLOC_MEM_CPTR,
6365#pragma weak mpi_alloc_mem_ = ompi_alloc_mem_f
6466#pragma weak mpi_alloc_mem__ = ompi_alloc_mem_f
6567
66- /* Extra pragmas for the _cptr variant from MPI-3.1 */
6768#pragma weak MPI_ALLOC_MEM_CPTR = ompi_alloc_mem_f
6869#pragma weak mpi_alloc_mem_cptr = ompi_alloc_mem_f
6970#pragma weak mpi_alloc_mem_cptr_ = ompi_alloc_mem_f
7071#pragma weak mpi_alloc_mem_cptr__ = ompi_alloc_mem_f
7172
7273#pragma weak MPI_Alloc_mem_f = ompi_alloc_mem_f
7374#pragma weak MPI_Alloc_mem_f08 = ompi_alloc_mem_f
75+
76+ #pragma weak MPI_Alloc_mem_cptr_f = ompi_alloc_mem_f
77+ #pragma weak MPI_Alloc_mem_cptr_f08 = ompi_alloc_mem_f
7478#else
7579#if ! OMPI_BUILD_MPI_PROFILING
7680OMPI_GENERATE_F77_BINDINGS (MPI_ALLOC_MEM ,
@@ -85,11 +89,12 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ALLOC_MEM_CPTR,
8589 mpi_alloc_mem_cptr ,
8690 mpi_alloc_mem_cptr_ ,
8791 mpi_alloc_mem_cptr__ ,
88- ompi_alloc_mem_f ,
92+ ompi_alloc_mem_cptr_f ,
8993 (MPI_Aint * size , MPI_Fint * info , char * baseptr , MPI_Fint * ierr ),
9094 (size , info , baseptr , ierr ) )
9195#else
9296#define ompi_alloc_mem_f pompi_alloc_mem_f
97+ #define ompi_alloc_mem_cptr_f pompi_alloc_mem_cptr_f
9398#endif
9499#endif
95100
@@ -102,3 +107,12 @@ void ompi_alloc_mem_f(MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *i
102107 ierr_c = PMPI_Alloc_mem (* size , c_info , baseptr );
103108 if (NULL != ierr ) * ierr = OMPI_INT_2_FINT (ierr_c );
104109}
110+
111+ /*
112+ * Note that MPI-3 mandates a second form of the
113+ * MPI_Alloc_mem interface -- one that has a "_cptr" suffix.
114+ */
115+ void ompi_alloc_mem_cptr_f (MPI_Aint * size , MPI_Fint * info , char * baseptr , MPI_Fint * ierr )
116+ {
117+ ompi_alloc_mem_f (size , info , baseptr , ierr );
118+ }
0 commit comments