Merge pull request #1538 from kawashima-fj/pr/fortran-binding-fix
fortran: Fix many Fortran binding bugs
Этот коммит содержится в:
Коммит
4566286b9a
@ -21,6 +21,15 @@ interface
|
|||||||
|
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
subroutine MPI_DUP_FN( comm, comm_keyval, extra_state, &
|
||||||
|
attribute_val_in, attribute_val_out, &
|
||||||
|
flag, ierr )
|
||||||
|
implicit none
|
||||||
|
integer :: comm, comm_keyval, extra_state
|
||||||
|
integer :: attribute_val_in, attribute_val_out, ierr
|
||||||
|
logical :: flag
|
||||||
|
end subroutine MPI_DUP_FN
|
||||||
|
|
||||||
subroutine MPI_NULL_COPY_FN( comm, comm_keyval, extra_state, &
|
subroutine MPI_NULL_COPY_FN( comm, comm_keyval, extra_state, &
|
||||||
attribute_val_in, attribute_val_out, &
|
attribute_val_in, attribute_val_out, &
|
||||||
flag, ierr )
|
flag, ierr )
|
||||||
@ -40,6 +49,17 @@ interface
|
|||||||
|
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
subroutine MPI_COMM_DUP_FN(oldcomm, comm_keyval, extra_state, attribute_val_in, &
|
||||||
|
attribute_val_out, flag, ierr )
|
||||||
|
implicit none
|
||||||
|
include 'mpif-config.h'
|
||||||
|
integer :: oldcomm
|
||||||
|
integer :: comm_keyval
|
||||||
|
integer(kind=MPI_ADDRESS_KIND) :: extra_state, attribute_val_in, attribute_val_out
|
||||||
|
logical :: flag
|
||||||
|
integer :: ierr
|
||||||
|
end subroutine MPI_COMM_DUP_FN
|
||||||
|
|
||||||
subroutine MPI_COMM_NULL_COPY_FN( comm, comm_keyval, extra_state, &
|
subroutine MPI_COMM_NULL_COPY_FN( comm, comm_keyval, extra_state, &
|
||||||
attribute_val_in, attribute_val_out, &
|
attribute_val_in, attribute_val_out, &
|
||||||
flag, ierr )
|
flag, ierr )
|
||||||
@ -62,17 +82,6 @@ interface
|
|||||||
integer :: ierr
|
integer :: ierr
|
||||||
end subroutine MPI_COMM_NULL_DELETE_FN
|
end subroutine MPI_COMM_NULL_DELETE_FN
|
||||||
|
|
||||||
subroutine MPI_COMM_DUP_FN(oldcomm, comm_keyval, extra_state, attribute_val_in, &
|
|
||||||
attribute_val_out, flag, ierr )
|
|
||||||
implicit none
|
|
||||||
include 'mpif-config.h'
|
|
||||||
integer :: oldcomm
|
|
||||||
integer :: comm_keyval
|
|
||||||
integer(kind=MPI_ADDRESS_KIND) :: extra_state, attribute_val_in, attribute_val_out
|
|
||||||
logical :: flag
|
|
||||||
integer :: ierr
|
|
||||||
end subroutine MPI_COMM_DUP_FN
|
|
||||||
|
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
subroutine MPI_TYPE_DUP_FN( oldtype, type_keyval, extra_state, &
|
subroutine MPI_TYPE_DUP_FN( oldtype, type_keyval, extra_state, &
|
||||||
|
@ -30,14 +30,16 @@
|
|||||||
#pragma weak pmpi_alloc_mem_ = ompi_alloc_mem_f
|
#pragma weak pmpi_alloc_mem_ = ompi_alloc_mem_f
|
||||||
#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_f = ompi_alloc_mem_f
|
||||||
|
#pragma weak PMPI_Alloc_mem_f08 = 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_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_cptr__ = ompi_alloc_mem_f
|
||||||
|
|
||||||
#pragma weak PMPI_Alloc_mem_f = ompi_alloc_mem_f
|
#pragma weak PMPI_Alloc_mem_cptr_f = ompi_alloc_mem_f
|
||||||
#pragma weak PMPI_Alloc_mem_f08 = ompi_alloc_mem_f
|
#pragma weak PMPI_Alloc_mem_cptr_f08 = ompi_alloc_mem_f
|
||||||
#else
|
#else
|
||||||
OMPI_GENERATE_F77_BINDINGS (PMPI_ALLOC_MEM,
|
OMPI_GENERATE_F77_BINDINGS (PMPI_ALLOC_MEM,
|
||||||
pmpi_alloc_mem,
|
pmpi_alloc_mem,
|
||||||
@ -51,7 +53,7 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_ALLOC_MEM_CPTR,
|
|||||||
pmpi_alloc_mem_cptr,
|
pmpi_alloc_mem_cptr,
|
||||||
pmpi_alloc_mem_cptr_,
|
pmpi_alloc_mem_cptr_,
|
||||||
pmpi_alloc_mem_cptr__,
|
pmpi_alloc_mem_cptr__,
|
||||||
pompi_alloc_mem_f,
|
pompi_alloc_mem_cptr_f,
|
||||||
(MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *ierr),
|
(MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *ierr),
|
||||||
(size, info, baseptr, ierr) )
|
(size, info, baseptr, ierr) )
|
||||||
#endif
|
#endif
|
||||||
@ -63,7 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_ALLOC_MEM_CPTR,
|
|||||||
#pragma weak mpi_alloc_mem_ = ompi_alloc_mem_f
|
#pragma weak mpi_alloc_mem_ = ompi_alloc_mem_f
|
||||||
#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_cptr_ = ompi_alloc_mem_f
|
#pragma weak mpi_alloc_mem_cptr_ = ompi_alloc_mem_f
|
||||||
@ -71,6 +72,9 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_ALLOC_MEM_CPTR,
|
|||||||
|
|
||||||
#pragma weak MPI_Alloc_mem_f = ompi_alloc_mem_f
|
#pragma weak MPI_Alloc_mem_f = ompi_alloc_mem_f
|
||||||
#pragma weak MPI_Alloc_mem_f08 = ompi_alloc_mem_f
|
#pragma weak MPI_Alloc_mem_f08 = ompi_alloc_mem_f
|
||||||
|
|
||||||
|
#pragma weak MPI_Alloc_mem_cptr_f = ompi_alloc_mem_f
|
||||||
|
#pragma weak MPI_Alloc_mem_cptr_f08 = ompi_alloc_mem_f
|
||||||
#else
|
#else
|
||||||
#if ! OMPI_BUILD_MPI_PROFILING
|
#if ! OMPI_BUILD_MPI_PROFILING
|
||||||
OMPI_GENERATE_F77_BINDINGS (MPI_ALLOC_MEM,
|
OMPI_GENERATE_F77_BINDINGS (MPI_ALLOC_MEM,
|
||||||
@ -85,11 +89,12 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ALLOC_MEM_CPTR,
|
|||||||
mpi_alloc_mem_cptr,
|
mpi_alloc_mem_cptr,
|
||||||
mpi_alloc_mem_cptr_,
|
mpi_alloc_mem_cptr_,
|
||||||
mpi_alloc_mem_cptr__,
|
mpi_alloc_mem_cptr__,
|
||||||
ompi_alloc_mem_f,
|
ompi_alloc_mem_cptr_f,
|
||||||
(MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *ierr),
|
(MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *ierr),
|
||||||
(size, info, baseptr, ierr) )
|
(size, info, baseptr, ierr) )
|
||||||
#else
|
#else
|
||||||
#define ompi_alloc_mem_f pompi_alloc_mem_f
|
#define ompi_alloc_mem_f pompi_alloc_mem_f
|
||||||
|
#define ompi_alloc_mem_cptr_f pompi_alloc_mem_cptr_f
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -102,3 +107,12 @@ void ompi_alloc_mem_f(MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *i
|
|||||||
ierr_c = PMPI_Alloc_mem(*size, c_info, baseptr);
|
ierr_c = PMPI_Alloc_mem(*size, c_info, baseptr);
|
||||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Note that MPI-3 mandates a second form of the
|
||||||
|
* MPI_Alloc_mem interface -- one that has a "_cptr" suffix.
|
||||||
|
*/
|
||||||
|
void ompi_alloc_mem_cptr_f(MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *ierr)
|
||||||
|
{
|
||||||
|
ompi_alloc_mem_f(size, info, baseptr, ierr);
|
||||||
|
}
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
#pragma weak pmpi_win_attach_ = ompi_win_attach_f
|
#pragma weak pmpi_win_attach_ = ompi_win_attach_f
|
||||||
#pragma weak pmpi_win_attach__ = ompi_win_attach_f
|
#pragma weak pmpi_win_attach__ = ompi_win_attach_f
|
||||||
|
|
||||||
#pragma weak PMPI_Win_create_f = ompi_win_attach_f
|
#pragma weak PMPI_Win_attach_f = ompi_win_attach_f
|
||||||
#pragma weak PMPI_Win_create_f08 = ompi_win_attach_f
|
#pragma weak PMPI_Win_attach_f08 = ompi_win_attach_f
|
||||||
#else
|
#else
|
||||||
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_ATTACH,
|
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_ATTACH,
|
||||||
pmpi_win_attach,
|
pmpi_win_attach,
|
||||||
@ -38,8 +38,8 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_ATTACH,
|
|||||||
#pragma weak mpi_win_attach_ = ompi_win_attach_f
|
#pragma weak mpi_win_attach_ = ompi_win_attach_f
|
||||||
#pragma weak mpi_win_attach__ = ompi_win_attach_f
|
#pragma weak mpi_win_attach__ = ompi_win_attach_f
|
||||||
|
|
||||||
#pragma weak MPI_Win_create_f = ompi_win_attach_f
|
#pragma weak MPI_Win_attach_f = ompi_win_attach_f
|
||||||
#pragma weak MPI_Win_create_f08 = ompi_win_attach_f
|
#pragma weak MPI_Win_attach_f08 = ompi_win_attach_f
|
||||||
#else
|
#else
|
||||||
#if ! OMPI_BUILD_MPI_PROFILING
|
#if ! OMPI_BUILD_MPI_PROFILING
|
||||||
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_ATTACH,
|
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_ATTACH,
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
#pragma weak pmpi_win_detach_ = ompi_win_detach_f
|
#pragma weak pmpi_win_detach_ = ompi_win_detach_f
|
||||||
#pragma weak pmpi_win_detach__ = ompi_win_detach_f
|
#pragma weak pmpi_win_detach__ = ompi_win_detach_f
|
||||||
|
|
||||||
#pragma weak PMPI_Win_create_f = ompi_win_detach_f
|
#pragma weak PMPI_Win_detach_f = ompi_win_detach_f
|
||||||
#pragma weak PMPI_Win_create_f08 = ompi_win_detach_f
|
#pragma weak PMPI_Win_detach_f08 = ompi_win_detach_f
|
||||||
#else
|
#else
|
||||||
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_DETACH,
|
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_DETACH,
|
||||||
pmpi_win_detach,
|
pmpi_win_detach,
|
||||||
@ -38,8 +38,8 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_DETACH,
|
|||||||
#pragma weak mpi_win_detach_ = ompi_win_detach_f
|
#pragma weak mpi_win_detach_ = ompi_win_detach_f
|
||||||
#pragma weak mpi_win_detach__ = ompi_win_detach_f
|
#pragma weak mpi_win_detach__ = ompi_win_detach_f
|
||||||
|
|
||||||
#pragma weak MPI_Win_create_f = ompi_win_detach_f
|
#pragma weak MPI_Win_detach_f = ompi_win_detach_f
|
||||||
#pragma weak MPI_Win_create_f08 = ompi_win_detach_f
|
#pragma weak MPI_Win_detach_f08 = ompi_win_detach_f
|
||||||
#else
|
#else
|
||||||
#if ! OMPI_BUILD_MPI_PROFILING
|
#if ! OMPI_BUILD_MPI_PROFILING
|
||||||
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_DETACH,
|
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_DETACH,
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
#pragma weak pmpi_win_get_info_ = ompi_win_get_info_f
|
#pragma weak pmpi_win_get_info_ = ompi_win_get_info_f
|
||||||
#pragma weak pmpi_win_get_info__ = ompi_win_get_info_f
|
#pragma weak pmpi_win_get_info__ = ompi_win_get_info_f
|
||||||
|
|
||||||
#pragma weak PMPI_Win_create_f = ompi_win_get_info_f
|
#pragma weak PMPI_Win_get_info_f = ompi_win_get_info_f
|
||||||
#pragma weak PMPI_Win_create_f08 = ompi_win_get_info_f
|
#pragma weak PMPI_Win_get_info_f08 = ompi_win_get_info_f
|
||||||
#else
|
#else
|
||||||
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_GET_INFO,
|
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_GET_INFO,
|
||||||
pmpi_win_get_info,
|
pmpi_win_get_info,
|
||||||
@ -38,8 +38,8 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_GET_INFO,
|
|||||||
#pragma weak mpi_win_get_info_ = ompi_win_get_info_f
|
#pragma weak mpi_win_get_info_ = ompi_win_get_info_f
|
||||||
#pragma weak mpi_win_get_info__ = ompi_win_get_info_f
|
#pragma weak mpi_win_get_info__ = ompi_win_get_info_f
|
||||||
|
|
||||||
#pragma weak MPI_Win_create_f = ompi_win_get_info_f
|
#pragma weak MPI_Win_get_info_f = ompi_win_get_info_f
|
||||||
#pragma weak MPI_Win_create_f08 = ompi_win_get_info_f
|
#pragma weak MPI_Win_get_info_f08 = ompi_win_get_info_f
|
||||||
#else
|
#else
|
||||||
#if ! OMPI_BUILD_MPI_PROFILING
|
#if ! OMPI_BUILD_MPI_PROFILING
|
||||||
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_GET_INFO,
|
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_GET_INFO,
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
#pragma weak pmpi_win_set_info_ = ompi_win_set_info_f
|
#pragma weak pmpi_win_set_info_ = ompi_win_set_info_f
|
||||||
#pragma weak pmpi_win_set_info__ = ompi_win_set_info_f
|
#pragma weak pmpi_win_set_info__ = ompi_win_set_info_f
|
||||||
|
|
||||||
#pragma weak PMPI_Win_create_f = ompi_win_set_info_f
|
#pragma weak PMPI_Win_set_info_f = ompi_win_set_info_f
|
||||||
#pragma weak PMPI_Win_create_f08 = ompi_win_set_info_f
|
#pragma weak PMPI_Win_set_info_f08 = ompi_win_set_info_f
|
||||||
#else
|
#else
|
||||||
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_SET_INFO,
|
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_SET_INFO,
|
||||||
pmpi_win_set_info,
|
pmpi_win_set_info,
|
||||||
@ -38,8 +38,8 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_SET_INFO,
|
|||||||
#pragma weak mpi_win_set_info_ = ompi_win_set_info_f
|
#pragma weak mpi_win_set_info_ = ompi_win_set_info_f
|
||||||
#pragma weak mpi_win_set_info__ = ompi_win_set_info_f
|
#pragma weak mpi_win_set_info__ = ompi_win_set_info_f
|
||||||
|
|
||||||
#pragma weak MPI_Win_create_f = ompi_win_set_info_f
|
#pragma weak MPI_Win_set_info_f = ompi_win_set_info_f
|
||||||
#pragma weak MPI_Win_create_f08 = ompi_win_set_info_f
|
#pragma weak MPI_Win_set_info_f08 = ompi_win_set_info_f
|
||||||
#else
|
#else
|
||||||
#if ! OMPI_BUILD_MPI_PROFILING
|
#if ! OMPI_BUILD_MPI_PROFILING
|
||||||
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_SET_INFO,
|
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_SET_INFO,
|
||||||
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Загрузка…
x
Ссылка в новой задаче
Block a user