Skip to content

Commit 1d8ce96

Browse files
committed
MPI_Win_Create_dynamic: add missing files
fixes commit f45244d
1 parent a55eb5e commit 1d8ce96

File tree

4 files changed

+122
-1
lines changed

4 files changed

+122
-1
lines changed

ompi/mpi/fortran/mpif-h/Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ libmpi_mpifh_la_SOURCES += \
396396
win_attach_f.c \
397397
win_call_errhandler_f.c \
398398
win_complete_f.c \
399-
win_create_dynamic_errhandler_f.c \
399+
win_create_dynamic_f.c \
400400
win_create_errhandler_f.c \
401401
win_create_f.c \
402402
win_create_keyval_f.c \
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
/*
2+
* Copyright (c) 2015 Research Organization for Information Science
3+
* and Technology (RIST). All rights reserved.
4+
* $COPYRIGHT$
5+
*
6+
* Additional copyrights may follow
7+
*
8+
* $HEADER$
9+
*/
10+
11+
#include "ompi_config.h"
12+
13+
#include "ompi/mpi/fortran/mpif-h/bindings.h"
14+
15+
#if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
16+
#pragma weak PMPI_WIN_CREATE_DYNAMIC = ompi_win_create_dynamic_f
17+
#pragma weak pmpi_win_create_dynamic = ompi_win_create_dynamic_f
18+
#pragma weak pmpi_win_create_dynamic_ = ompi_win_create_dynamic_f
19+
#pragma weak pmpi_win_create_dynamic__ = ompi_win_create_dynamic_f
20+
21+
#pragma weak PMPI_Win_create_dynamic_f = ompi_win_create_dynamic_f
22+
#pragma weak PMPI_Win_create_dynamic_f08 = ompi_win_create_dynamic_f
23+
#elif OMPI_PROFILE_LAYER
24+
OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_CREATE_DYNAMIC,
25+
pmpi_win_create_dynamic,
26+
pmpi_win_create_dynamic_,
27+
pmpi_win_create_dynamic__,
28+
pompi_win_create_dynamic_f,
29+
(MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr),
30+
(info, comm, win, ierr) )
31+
#endif
32+
33+
#if OPAL_HAVE_WEAK_SYMBOLS
34+
#pragma weak MPI_WIN_CREATE_DYNAMIC = ompi_win_create_dynamic_f
35+
#pragma weak mpi_win_create_dynamic = ompi_win_create_dynamic_f
36+
#pragma weak mpi_win_create_dynamic_ = ompi_win_create_dynamic_f
37+
#pragma weak mpi_win_create_dynamic__ = ompi_win_create_dynamic_f
38+
39+
#pragma weak MPI_Win_create_dynamic_f = ompi_win_create_dynamic_f
40+
#pragma weak MPI_Win_create_dynamic_f08 = ompi_win_create_dynamic_f
41+
#endif
42+
43+
#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER
44+
OMPI_GENERATE_F77_BINDINGS (MPI_WIN_CREATE_DYNAMIC,
45+
mpi_win_create_dynamic,
46+
mpi_win_create_dynamic_,
47+
mpi_win_create_dynamic__,
48+
ompi_win_create_dynamic_f,
49+
(MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr),
50+
(info, comm, win, ierr) )
51+
#endif
52+
53+
54+
#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS
55+
#include "ompi/mpi/fortran/mpif-h/profile/defines.h"
56+
#endif
57+
58+
void ompi_win_create_dynamic_f(MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win,
59+
MPI_Fint *ierr)
60+
{
61+
int c_ierr;
62+
MPI_Win c_win;
63+
MPI_Info c_info;
64+
MPI_Comm c_comm;
65+
66+
c_comm = MPI_Comm_f2c(*comm);
67+
c_info = MPI_Info_f2c(*info);
68+
69+
c_ierr = MPI_Win_create_dynamic(c_info, c_comm, &c_win);
70+
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
71+
72+
if (MPI_SUCCESS == c_ierr) {
73+
*win = MPI_Win_c2f(c_win);
74+
}
75+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
! -*- f90 -*-
2+
!
3+
! Copyright (c) 2015 Research Organization for Information Science
4+
! and Technology (RIST). All rights reserved.
5+
! $COPYRIGHT$
6+
7+
#include "ompi/mpi/fortran/configure-fortran-output.h"
8+
9+
subroutine PMPI_Win_create_dynamic_f08(info,comm,win,ierror)
10+
use :: mpi_f08_types, only : MPI_Info, MPI_Comm, MPI_Win
11+
use :: mpi_f08, only : ompi_win_create_dynamic_f
12+
implicit none
13+
TYPE(MPI_Info), INTENT(IN) :: info
14+
TYPE(MPI_Comm), INTENT(IN) :: comm
15+
TYPE(MPI_Win), INTENT(OUT) :: win
16+
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
17+
integer :: c_ierror
18+
19+
call ompi_win_create_dynamic_f(info%MPI_VAL,&
20+
comm%MPI_VAL,win%MPI_VAL,c_ierror)
21+
if (present(ierror)) ierror = c_ierror
22+
23+
end subroutine PMPI_Win_create_dynamic_f08
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
! -*- f90 -*-
2+
!
3+
! Copyright (c) 2015 Research Organization for Information Science
4+
! and Technology (RIST). All rights reserved.
5+
! $COPYRIGHT$
6+
7+
#include "ompi/mpi/fortran/configure-fortran-output.h"
8+
9+
subroutine MPI_Win_create_dynamic_f08(info,comm,win,ierror)
10+
use :: mpi_f08_types, only : MPI_Info, MPI_Comm, MPI_Win
11+
use :: mpi_f08, only : ompi_win_create_dynamic_f
12+
implicit none
13+
TYPE(MPI_Info), INTENT(IN) :: info
14+
TYPE(MPI_Comm), INTENT(IN) :: comm
15+
TYPE(MPI_Win), INTENT(OUT) :: win
16+
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
17+
integer :: c_ierror
18+
19+
call ompi_win_create_dynamic_f(info%MPI_VAL,&
20+
comm%MPI_VAL,win%MPI_VAL,c_ierror)
21+
if (present(ierror)) ierror = c_ierror
22+
23+
end subroutine MPI_Win_create_dynamic_f08

0 commit comments

Comments
 (0)