1
1
Этот коммит содержится в:
Vishal Sahay 2004-09-13 18:57:25 +00:00
родитель 8e14d725ad
Коммит af6fb8f347
19 изменённых файлов: 191 добавлений и 50 удалений

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

@ -130,7 +130,7 @@
#define OMPI_2_DIM_ARRAY_FINT_2_INT(in, n, dim2) \
OMPI_ARRAY_NAME_CONVERT(in) = (int (*)[dim2]) malloc(n * sizeof(*OMPI_ARRAY_NAME_CONVERT(in))); \
while(n > 0) { \
for(dim2_index = 0; dim2_index < dims2; ++i) { \
for(dim2_index = 0; dim2_index < dim2; ++dim2_index) { \
OMPI_ARRAY_NAME_CONVERT(in)[n - 1][dim2_index] = in[n - 1][dim2_index]; \
} \
--n; \
@ -143,7 +143,7 @@
OMPI_ARRAY_NAME_CONVERT(in) = *(in)
#define OMPI_SINGLE_INT_2_FINT(in) \
in = (MPI_Fint) OMPI_ARRAY_NAME_CONVERT(in)
*in = (MPI_Fint) OMPI_ARRAY_NAME_CONVERT(in)
#define OMPI_ARRAY_INT_2_FINT(in, n) \
while(n > 0) {\

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

@ -47,14 +47,14 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_CREATE_KEYVAL,
#include "mpi/f77/profile/defines.h"
#endif
static const char FUNC_NAME[] = "MPI_Comm_create_keyval_f";
static const char FUNC_NAME[] = "MPI_Comm_create_keyval_f";
void mpi_comm_create_keyval_f(MPI_Fint *comm_copy_attr_fn,
MPI_Fint *comm_delete_attr_fn,
MPI_Fint *comm_keyval,
char *extra_state, MPI_Fint *ierr)
{
int ret;
int ret, c_err;
ompi_attribute_fn_ptr_union_t copy_fn;
ompi_attribute_fn_ptr_union_t del_fn;
@ -62,9 +62,10 @@ void mpi_comm_create_keyval_f(MPI_Fint *comm_copy_attr_fn,
if ((NULL == comm_copy_attr_fn) ||
(NULL == comm_delete_attr_fn) ||
(NULL == comm_keyval) ) {
*ierr = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
c_err = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_ARG,
FUNC_NAME);
FUNC_NAME)
*ierr = OMPI_INT_2_FINT(c_err);
}
}
@ -75,9 +76,10 @@ void mpi_comm_create_keyval_f(MPI_Fint *comm_copy_attr_fn,
comm_keyval, extra_state, OMPI_KEYVAL_F77);
if (MPI_SUCCESS != ret) {
*ierr = OMPI_INT_2_FINT(OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_OTHER,
FUNC_NAME))
c_err = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_OTHER,
FUNC_NAME)
*ierr = OMPI_INT_2_FINT(c_err);
} else {
*ierr = MPI_SUCCESS;
}

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

@ -53,7 +53,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_SET_NAME,
void mpi_comm_set_name_f(MPI_Fint *comm, char *comm_name, MPI_Fint *ierr,
int name_len)
{
int ret;
int ret, c_err;
char *c_name;
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
@ -61,8 +61,9 @@ void mpi_comm_set_name_f(MPI_Fint *comm, char *comm_name, MPI_Fint *ierr,
if (OMPI_SUCCESS != (ret = ompi_fortran_string_f2c(comm_name, name_len,
&c_name))) {
*ierr = OMPI_INT_2_FINT(OMPI_ERRHANDLER_INVOKE(c_comm, ret,
"MPI_COMM_SET_NAME"));
c_err = OMPI_ERRHANDLER_INVOKE(c_comm, ret,
"MPI_COMM_SET_NAME");
*ierr = OMPI_INT_2_FINT(c_err);
return;
}

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

@ -46,7 +46,9 @@ OMPI_GENERATE_F77_BINDINGS (MPI_IBSEND,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_ibsend_f(char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *request, MPI_Fint *ierr)
void mpi_ibsend_f(char *buf, MPI_Fint *count, MPI_Fint *datatype,
MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm,
MPI_Fint *request, MPI_Fint *ierr)
{
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Request c_req;
@ -54,7 +56,10 @@ void mpi_ibsend_f(char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest
c_comm = MPI_Comm_f2c (*comm);
*ierr = MPI_Ibsend(buf, *count, c_type, *dest, *tag, c_comm, &c_req);
*ierr = OMPI_INT_2_FINT(MPI_Ibsend(buf, OMPI_FINT_2_INT(*count),
c_type, OMPI_FINT_2_INT(*dest),
OMPI_FINT_2_INT(*tag),
c_comm, &c_req));
if (MPI_SUCCESS == *ierr) {
*request = MPI_Request_c2f(c_req);

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

@ -46,15 +46,22 @@ OMPI_GENERATE_F77_BINDINGS (MPI_INTERCOMM_CREATE,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_intercomm_create_f(MPI_Fint *local_comm, MPI_Fint *local_leader, MPI_Fint *bridge_comm,
MPI_Fint *remote_leader, MPI_Fint *tag, MPI_Fint *newintercomm,
void mpi_intercomm_create_f(MPI_Fint *local_comm, MPI_Fint *local_leader,
MPI_Fint *bridge_comm,
MPI_Fint *remote_leader, MPI_Fint *tag,
MPI_Fint *newintercomm,
MPI_Fint *ierr)
{
MPI_Comm c_newcomm;
MPI_Comm c_local_comm = MPI_Comm_f2c (*local_comm );
MPI_Comm c_bridge_comm = MPI_Comm_f2c (*bridge_comm);
*ierr = MPI_Intercomm_create ( c_local_comm, (int) *local_leader, c_bridge_comm,
(int) *remote_leader, (int) *tag, &c_newcomm );
*ierr = OMPI_INT_2_FINT(MPI_Intercomm_create(c_local_comm,
OMPI_FINT_2_INT(*local_leader),
c_bridge_comm,
OMPI_FINT_2_INT(*remote_leader),
OMPI_FINT_2_INT(*tag),
&c_newcomm));
*newintercomm = MPI_Comm_c2f (c_newcomm);
}

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

@ -46,12 +46,14 @@ OMPI_GENERATE_F77_BINDINGS (MPI_INTERCOMM_MERGE,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_intercomm_merge_f(MPI_Fint *intercomm, MPI_Fint *high, MPI_Fint *newintracomm,
void mpi_intercomm_merge_f(MPI_Fint *intercomm, MPI_Fint *high,
MPI_Fint *newintracomm,
MPI_Fint *ierr)
{
MPI_Comm c_newcomm;
MPI_Comm c_intercomm = MPI_Comm_f2c(*intercomm);
*ierr = MPI_Intercomm_merge (c_intercomm, (int) *high, &c_newcomm );
*ierr = MPI_Intercomm_merge (c_intercomm, OMPI_FINT_2_INT(*high),
&c_newcomm );
*newintracomm = MPI_Comm_c2f (c_newcomm);
}

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

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_IPROBE = mpi_iprobe_f
@ -46,11 +49,58 @@ OMPI_GENERATE_F77_BINDINGS (MPI_IPROBE,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_iprobe_f(MPI_Fint *source, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *flag, MPI_Fint *status, MPI_Fint *ierr)
void mpi_iprobe_f(MPI_Fint *source, MPI_Fint *tag, MPI_Fint *comm,
MPI_Fint *flag, MPI_Fint *status, MPI_Fint *ierr)
{
MPI_Status *c_status;
int c_err;
MPI_Comm c_comm;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
OMPI_SINGLE_NAME_DECL(flag);
/* Only check for the bad value if we're checking MPI parameters */
if (MPI_PARAM_CHECK) {
if (OMPI_IS_FORTRAN_STATUSES_IGNORE(status)) {
c_err = OMPI_ERRHANDLER_INVOKE(c_comm, MPI_ERR_ARG,
"MPI_RECV");
*ierr = OMPI_INT_2_FINT(c_err);
return;
}
}
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
c_comm = MPI_Comm_f2c (*comm);
*ierr = MPI_Iprobe(*source, *tag, c_comm, flag, (MPI_Status*)status);
*ierr = OMPI_INT_2_FINT(MPI_Iprobe(OMPI_FINT_2_INT(*source),
OMPI_FINT_2_INT(*tag),
c_comm, OMPI_SINGLE_NAME_CONVERT(flag),
c_status));
OMPI_SINGLE_INT_2_FINT(flag);
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

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

@ -46,7 +46,9 @@ OMPI_GENERATE_F77_BINDINGS (MPI_IRECV,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_irecv_f(char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *source, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *request, MPI_Fint *ierr)
void mpi_irecv_f(char *buf, MPI_Fint *count, MPI_Fint *datatype,
MPI_Fint *source, MPI_Fint *tag, MPI_Fint *comm,
MPI_Fint *request, MPI_Fint *ierr)
{
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Request c_req;
@ -54,7 +56,9 @@ void mpi_irecv_f(char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *sourc
c_comm = MPI_Comm_f2c (*comm);
*ierr = MPI_Irecv(buf, *count, c_type, *source, *tag, c_comm, &c_req);
*ierr = OMPI_INT_2_FINT(MPI_Irecv(buf, OMPI_FINT_2_INT(*count),
c_type, OMPI_FINT_2_INT(*source),
OMPI_FINT_2_INT(*tag), c_comm, &c_req));
if (MPI_SUCCESS == *ierr) {
*request = MPI_Request_c2f(c_req);

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

@ -54,7 +54,10 @@ void mpi_irsend_f(char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest
c_comm = MPI_Comm_f2c (*comm);
*ierr = MPI_Irsend(buf, *count, c_type, *dest, *tag, c_comm, &c_req);
*ierr = OMPI_INT_2_FINT(MPI_Irsend(buf, OMPI_FINT_2_INT(*count),
c_type, OMPI_FINT_2_INT(*dest),
OMPI_FINT_2_INT(*tag), c_comm,
&c_req));
if (MPI_SUCCESS == *ierr) {
*request = MPI_Request_c2f(c_req);

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

@ -48,5 +48,10 @@ OMPI_GENERATE_F77_BINDINGS (MPI_IS_THREAD_MAIN,
void mpi_is_thread_main_f(MPI_Fint *flag, MPI_Fint *ierr)
{
*ierr = MPI_Is_thread_main( flag );
OMPI_SINGLE_NAME_DECL(flag);
*ierr = OMPI_INT_2_FINT(MPI_Is_thread_main(OMPI_SINGLE_NAME_CONVERT(flag)
));
OMPI_SINGLE_INT_2_FINT(flag);
}

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

@ -54,7 +54,10 @@ void mpi_isend_f(char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest,
c_comm = MPI_Comm_f2c (*comm);
*ierr = MPI_Isend(buf, *count, c_type, *dest, *tag, c_comm, &c_req);
*ierr = OMPI_INT_2_FINT(MPI_Isend(buf, OMPI_FINT_2_INT(*count),
c_type, OMPI_FINT_2_INT(*dest),
OMPI_FINT_2_INT(*tag),
c_comm, &c_req));
if (MPI_SUCCESS == *ierr) {
*request = MPI_Request_c2f(c_req);

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

@ -54,7 +54,10 @@ void mpi_issend_f(char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest
c_comm = MPI_Comm_f2c (*comm);
*ierr = MPI_Issend(buf, *count, c_type, *dest, *tag, c_comm, &c_req);
*ierr = OMPI_INT_2_FINT(MPI_Issend(buf, OMPI_FINT_2_INT(*count),
c_type, OMPI_FINT_2_INT(*dest),
OMPI_FINT_2_INT(*tag),
c_comm, &c_req));
if (MPI_SUCCESS == *ierr) {
*request = MPI_Request_c2f(c_req);

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

@ -52,7 +52,7 @@ static const char FUNC_NAME[] = "MPI_keyval_create_f";
void mpi_keyval_create_f(MPI_Fint *copy_attr_fn, MPI_Fint *delete_attr_fn,
MPI_Fint *keyval, char *extra_state, MPI_Fint *ierr)
{
int ret;
int ret, c_err;
ompi_attribute_fn_ptr_union_t copy_fn;
ompi_attribute_fn_ptr_union_t del_fn;
@ -60,9 +60,10 @@ void mpi_keyval_create_f(MPI_Fint *copy_attr_fn, MPI_Fint *delete_attr_fn,
if ((NULL == copy_attr_fn) ||
(NULL == delete_attr_fn) ||
(NULL == keyval) ) {
*ierr = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
c_err = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_ARG,
FUNC_NAME);
*ierr = OMPI_INT_2_FINT(c_err);
}
}
@ -73,9 +74,10 @@ void mpi_keyval_create_f(MPI_Fint *copy_attr_fn, MPI_Fint *delete_attr_fn,
keyval, extra_state, OMPI_KEYVAL_F77);
if (MPI_SUCCESS != ret) {
*ierr = OMPI_INT_2_FINT(OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_OTHER,
FUNC_NAME))
c_err = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_OTHER,
FUNC_NAME);
*ierr = OMPI_INT_2_FINT(c_err);
} else {
*ierr = MPI_SUCCESS;
}

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

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_PROBE = mpi_probe_f
@ -48,9 +51,51 @@ OMPI_GENERATE_F77_BINDINGS (MPI_PROBE,
void mpi_probe_f(MPI_Fint *source, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *status, MPI_Fint *ierr)
{
MPI_Status *c_status;
int c_err;
MPI_Comm c_comm;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
c_comm = MPI_Comm_f2c (*comm);
*ierr = MPI_Probe(*source, *tag, c_comm, (MPI_Status*)status);
/* Only check for the bad value if we're checking MPI parameters */
if (MPI_PARAM_CHECK) {
if (OMPI_IS_FORTRAN_STATUSES_IGNORE(status)) {
c_err = OMPI_ERRHANDLER_INVOKE(c_comm, MPI_ERR_ARG,
"MPI_RECV");
*ierr = OMPI_INT_2_FINT(c_err);
return;
}
}
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_INT_2_FINT(MPI_Probe(OMPI_FINT_2_INT(*source),
OMPI_FINT_2_INT(*tag),
c_comm, c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

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

@ -54,6 +54,7 @@ void mpi_recv_f(char *buf, MPI_Fint *count, MPI_Fint *datatype,
MPI_Fint *status, MPI_Fint *ierr)
{
MPI_Status *c_status;
int c_err;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
@ -64,8 +65,9 @@ void mpi_recv_f(char *buf, MPI_Fint *count, MPI_Fint *datatype,
if (MPI_PARAM_CHECK) {
if (OMPI_IS_FORTRAN_STATUSES_IGNORE(status)) {
*ierr = OMPI_INT_2_FINT(OMPI_ERRHANDLER_INVOKE(c_comm, MPI_ERR_ARG,
"MPI_RECV"));
c_err = OMPI_ERRHANDLER_INVOKE(c_comm, MPI_ERR_ARG,
"MPI_RECV");
*ierr = OMPI_INT_2_FINT(c_err);
return;
}
}

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

@ -51,7 +51,7 @@ static char FUNC_NAME[] = "MPI_Type_create_keyval_f";
void mpi_type_create_keyval_f(MPI_Fint *type_copy_attr_fn, MPI_Fint *type_delete_attr_fn, MPI_Fint *type_keyval, char *extra_state, MPI_Fint *ierr)
{
int ret;
int ret, c_err;
ompi_attribute_fn_ptr_union_t copy_fn;
ompi_attribute_fn_ptr_union_t del_fn;
@ -59,9 +59,10 @@ void mpi_type_create_keyval_f(MPI_Fint *type_copy_attr_fn, MPI_Fint *type_delete
if ((NULL == type_copy_attr_fn) ||
(NULL == type_delete_attr_fn) ||
(NULL == type_keyval) ) {
*ierr = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
c_err = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_ARG,
FUNC_NAME);
*ierr = OMPI_INT_2_FINT(c_err);
}
}
@ -72,9 +73,10 @@ void mpi_type_create_keyval_f(MPI_Fint *type_copy_attr_fn, MPI_Fint *type_delete
type_keyval, extra_state, OMPI_KEYVAL_F77);
if (MPI_SUCCESS != ret) {
*ierr = OMPI_INT_2_FINT(OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_OTHER,
FUNC_NAME))
c_err = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_OTHER,
FUNC_NAME);
*ierr = OMPI_INT_2_FINT(c_err);
} else {
*ierr = MPI_SUCCESS;
}

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

@ -53,7 +53,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_TYPE_SET_NAME,
void mpi_type_set_name_f(MPI_Fint *type, char *type_name, MPI_Fint *ierr,
int name_len)
{
int ret;
int ret, c_err;
char *c_name;
MPI_Datatype c_type;
@ -63,8 +63,9 @@ void mpi_type_set_name_f(MPI_Fint *type, char *type_name, MPI_Fint *ierr,
if (OMPI_SUCCESS != (ret = ompi_fortran_string_f2c(type_name, name_len,
&c_name))) {
*ierr = OMPI_INT_2_FINT(OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, ret,
"MPI_TYPE_SET_NAME"));
c_err = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, ret,
"MPI_TYPE_SET_NAME");
*ierr = OMPI_INT_2_FINT(c_err);
return;
}

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

@ -51,7 +51,7 @@ static char FUNC_NAME[] = "MPI_Win_create_keyval";
void mpi_win_create_keyval_f(MPI_Fint *win_copy_attr_fn, MPI_Fint *win_delete_attr_fn, MPI_Fint *win_keyval, char *extra_state, MPI_Fint *ierr)
{
int ret;
int ret, c_err;
ompi_attribute_fn_ptr_union_t copy_fn;
ompi_attribute_fn_ptr_union_t del_fn;
@ -59,9 +59,10 @@ void mpi_win_create_keyval_f(MPI_Fint *win_copy_attr_fn, MPI_Fint *win_delete_at
if ((NULL == win_copy_attr_fn) ||
(NULL == win_delete_attr_fn) ||
(NULL == win_keyval) ) {
*ierr = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
c_err = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_ARG,
FUNC_NAME);
*ierr = OMPI_INT_2_FINT(c_err);
}
}
copy_fn.attr_F_copy_fn = (MPI_F_copy_function *)win_copy_attr_fn;
@ -71,7 +72,9 @@ void mpi_win_create_keyval_f(MPI_Fint *win_copy_attr_fn, MPI_Fint *win_delete_at
win_keyval, extra_state, OMPI_KEYVAL_F77);
if (MPI_SUCCESS != ret) {
OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_OTHER, FUNC_NAME);
c_err = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_OTHER,
FUNC_NAME);
*ierr = OMPI_INT_2_FINT(c_err);
} else {
*ierr = MPI_SUCCESS;
}

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

@ -54,7 +54,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_WIN_SET_NAME,
void mpi_win_set_name_f(MPI_Fint *win, char *win_name, MPI_Fint *ierr,
int name_len)
{
int ret;
int ret, c_err;
char *c_name;
MPI_Win c_win;
@ -64,8 +64,9 @@ void mpi_win_set_name_f(MPI_Fint *win, char *win_name, MPI_Fint *ierr,
if (OMPI_SUCCESS != (ret = ompi_fortran_string_f2c(win_name, name_len,
&c_name))) {
*ierr = OMPI_INT_2_FINT(OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, ret,
"MPI_WIN_SET_NAME"));
c_err = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, ret,
"MPI_WIN_SET_NAME");
*ierr = OMPI_INT_2_FINT(c_err);
return;
}