This source file includes following definitions.
- ompi_win_create_dynamic_f
1
2
3
4
5
6
7
8
9
10
11 #include "ompi_config.h"
12
13 #include "ompi/mpi/fortran/mpif-h/bindings.h"
14
15 #if OMPI_BUILD_MPI_PROFILING
16 #if OPAL_HAVE_WEAK_SYMBOLS
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 #pragma weak pmpi_win_create_dynamic__ = ompi_win_create_dynamic_f
21
22 #pragma weak PMPI_Win_create_dynamic_f = ompi_win_create_dynamic_f
23 #pragma weak PMPI_Win_create_dynamic_f08 = ompi_win_create_dynamic_f
24 #else
25 OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_CREATE_DYNAMIC,
26 pmpi_win_create_dynamic,
27 pmpi_win_create_dynamic_,
28 pmpi_win_create_dynamic__,
29 pompi_win_create_dynamic_f,
30 (MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr),
31 (info, comm, win, ierr) )
32 #endif
33 #endif
34
35 #if OPAL_HAVE_WEAK_SYMBOLS
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 #pragma weak mpi_win_create_dynamic_ = ompi_win_create_dynamic_f
39 #pragma weak mpi_win_create_dynamic__ = ompi_win_create_dynamic_f
40
41 #pragma weak MPI_Win_create_dynamic_f = ompi_win_create_dynamic_f
42 #pragma weak MPI_Win_create_dynamic_f08 = ompi_win_create_dynamic_f
43 #else
44 #if ! OMPI_BUILD_MPI_PROFILING
45 OMPI_GENERATE_F77_BINDINGS (MPI_WIN_CREATE_DYNAMIC,
46 mpi_win_create_dynamic,
47 mpi_win_create_dynamic_,
48 mpi_win_create_dynamic__,
49 ompi_win_create_dynamic_f,
50 (MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr),
51 (info, comm, win, ierr) )
52 #else
53 #define ompi_win_create_dynamic_f pompi_win_create_dynamic_f
54 #endif
55 #endif
56
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 = PMPI_Comm_f2c(*comm);
67 c_info = PMPI_Info_f2c(*info);
68
69 c_ierr = PMPI_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 = PMPI_Win_c2f(c_win);
74 }
75 }