1
1

- Name all the parameters in the fortran attribute callbacks to be

less confusing (when you have 5-6 parameters, it's easy to mis-count
  and have the wrong type if you don't have the associated names).
- Use proper types for the fortran callbacks
- Simplify the predefined Fortran attribute callbacks; do the work
  right there rather than calling the predefined C attribute callbacks
  (which would simply require further FINT_2_INT / INT_2_FINT
  translation anyway)

This commit was SVN r5038.
Этот коммит содержится в:
Jeff Squyres 2005-03-26 04:03:54 +00:00
родитель 99628f4535
Коммит 90e9b6ca14
3 изменённых файлов: 163 добавлений и 156 удалений

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

@ -58,9 +58,14 @@ typedef enum ompi_attribute_type_t ompi_attribute_type_t;
/* Fortran function pointer declarations for copy and delete. These
will only be used here and not in the front end functions */
typedef void (MPI_F_copy_function)(int *, int *, int *, int *, int *,
int *, int *);
typedef void (MPI_F_delete_function)(int *, int *, int *, int *, int *);
typedef void (MPI_F_copy_function)(MPI_Fint *oldcomm, MPI_Fint *keyval,
MPI_Fint *extra_state,
MPI_Fint *attr_in, MPI_Fint *attr_out,
ompi_fortran_logical_t *flag,
MPI_Fint *ierr);
typedef void (MPI_F_delete_function)(MPI_Fint *comm, MPI_Fint *keyval,
MPI_Fint *attr_in,
MPI_Fint *extra_state, MPI_Fint *ierr);
/* Union to take care of proper casting of the function pointers
@ -125,8 +130,9 @@ int ompi_attr_hash_init(ompi_hash_table_t **keyhash)
fprintf(stderr, "Error while creating the local attribute list\n");
return MPI_ERR_SYSRESOURCE;
}
if (ompi_hash_table_init(*keyhash, ATTR_HASH_SIZE) != OMPI_SUCCESS)
if (OMPI_SUCCESS != ompi_hash_table_init(*keyhash, ATTR_HASH_SIZE)) {
return MPI_ERR_SYSRESOURCE;
}
return MPI_SUCCESS;
}

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

@ -17,6 +17,7 @@
#include "ompi_config.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/fint_2_int.h"
#include "datatype/datatype.h"
#include "win/win.h"
#include "communicator/communicator.h"
@ -79,63 +80,63 @@ OMPI_GENERATE_F77_BINDINGS( MPI_TYPE_NULL_DELETE_FN,
mpi_type_null_delete_fn_,
mpi_type_null_delete_fn__,
mpi_type_null_delete_fn_f,
(MPI_Fint* type, int* type_keyval,void* attribute_val_out, int* flag, int* ierr),
(type, type_keyval, attribute_val_out, flag, ierr) )
(MPI_Fint* type, MPI_Fnt* type_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr),
(type, type_keyval, attribute_val_out, extra_state, ierr) )
OMPI_GENERATE_F77_BINDINGS( MPI_TYPE_NULL_COPY_FN,
mpi_type_null_copy_fn,
mpi_type_null_copy_fn_,
mpi_type_null_copy_fn__,
mpi_type_null_copy_fn_f,
(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr),
(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr),
(type, type_keyval, extra_state, attribute_val_in, attribute_val_out, flag, ierr) )
OMPI_GENERATE_F77_BINDINGS( MPI_TYPE_DUP_FN,
mpi_type_dup_fn,
mpi_type_dup_fn_,
mpi_type_dup_fn__,
mpi_type_dup_fn_f,
(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr),
(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr),
(type, type_keyval, extra_state, attribute_val_in, attribute_val_out, flag, ierr) )
OMPI_GENERATE_F77_BINDINGS( MPI_COMM_NULL_DELETE_FN,
mpi_comm_null_delete_fn,
mpi_comm_null_delete_fn_,
mpi_comm_null_delete_fn__,
mpi_comm_null_delete_fn_f,
(MPI_Fint* comm, int* comm_keyval,void* attribute_val_out, int* flag, int* ierr ),
(comm, comm_keyval, attribute_val_out, flag, ierr) )
(MPI_Fint* comm, MPI_Fint* comm_keyval,MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr ),
(comm, comm_keyval, attribute_val_out, extra_state, ierr) )
OMPI_GENERATE_F77_BINDINGS( MPI_COMM_NULL_COPY_FN,
mpi_comm_null_copy_fn,
mpi_comm_null_copy_fn_,
mpi_comm_null_copy_fn__,
mpi_comm_null_copy_fn_f,
(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr),
(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr),
(comm, comm_keyval, extra_state, attribute_val_in, attribute_val_out, flag, ierr) )
OMPI_GENERATE_F77_BINDINGS( MPI_COMM_DUP_FN,
mpi_comm_dup_fn,
mpi_comm_dup_fn_,
mpi_comm_dup_fn__,
mpi_comm_dup_fn_f,
(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr),
(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr),
(comm, comm_keyval, extra_state, attribute_val_in, attribute_val_out, flag, ierr) )
OMPI_GENERATE_F77_BINDINGS( MPI_NULL_DELETE_FN,
mpi_null_delete_fn,
mpi_null_delete_fn_,
mpi_null_delete_fn__,
mpi_null_delete_fn_f,
(MPI_Fint* comm, int* comm_keyval,void* attribute_val_out, int* flag, int* ierr ),
(comm, comm_keyval, attribute_val_out, flag, ierr) )
(MPI_Fint* comm, MPI_Fint* comm_keyval,MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr ),
(comm, comm_keyval, attribute_val_out, extra_state, ierr) )
OMPI_GENERATE_F77_BINDINGS( MPI_NULL_COPY_FN,
mpi_null_copy_fn,
mpi_null_copy_fn_,
mpi_null_copy_fn__,
mpi_null_copy_fn_f,
(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr),
(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr),
(comm, comm_keyval, extra_state, attribute_val_in, attribute_val_out, flag, ierr) )
OMPI_GENERATE_F77_BINDINGS( MPI_DUP_FN,
mpi_dup_fn,
mpi_dup_fn_,
mpi_dup_fn__,
mpi_dup_fn_f,
(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr),
(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr),
(comm, comm_keyval, extra_state, attribute_val_in, attribute_val_out, flag, ierr) )
#if OMPI_WANT_MPI2_ONE_SIDED
@ -144,21 +145,21 @@ OMPI_GENERATE_F77_BINDINGS( MPI_WIN_NULL_DELETE_FN,
mpi_win_null_delete_fn_,
mpi_win_null_delete_fn__,
mpi_win_null_delete_fn_f,
(MPI_Fint* type, int* type_keyval,void* attribute_val_out, int* flag, int* ierr ),
(type, type_keyval, attribute_val_out, flag, ierr) )
(MPI_Fint* type, MPI_Fint* type_keyval,MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr ),
(type, type_keyval, attribute_val_out, extra_state, ierr) )
OMPI_GENERATE_F77_BINDINGS( MPI_WIN_NULL_COPY_FN,
mpi_win_null_copy_fn,
mpi_win_null_copy_fn_,
mpi_win_null_copy_fn__,
mpi_win_null_copy_fn_f,
(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr),
(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr),
(window, win_keyval, extra_state, attribute_val_in, attribute_val_out, flag, ierr) )
OMPI_GENERATE_F77_BINDINGS( MPI_WIN_DUP_FN,
mpi_win_dup_fn,
mpi_win_dup_fn_,
mpi_win_dup_fn__,
mpi_win_dup_fn_f,
(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr),
(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr),
(window, win_keyval, extra_state, attribute_val_in, attribute_val_out, flag, ierr) )
#endif
#endif
@ -186,116 +187,116 @@ OMPI_GENERATE_F77_BINDINGS( MPI_WIN_DUP_FN,
*
* The reason why is discussed in a lengthy comment in mpi.h.
*/
void mpi_type_null_delete_fn_f( MPI_Fint* type, int* type_keyval,
void* attribute_val_out, int* flag, int* ierr )
void mpi_type_null_delete_fn_f(MPI_Fint* type, MPI_Fint* type_keyval,
MPI_Fint* attribute_val_out,
MPI_Fint* extra_state, MPI_Fint* ierr)
{
MPI_Datatype c_type = MPI_Type_f2c(*type);
*ierr = OMPI_C_MPI_TYPE_NULL_DELETE_FN( c_type, *type_keyval,
attribute_val_out, flag );
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
void mpi_type_null_copy_fn_f( MPI_Fint* type, int* type_keyval, void* extra_state,
void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr )
void mpi_type_null_copy_fn_f(MPI_Fint* type, MPI_Fint* type_keyval,
MPI_Fint* extra_state,
MPI_Fint* attribute_val_in,
MPI_Fint* attribute_val_out,
ompi_fortran_logical_t* flag, MPI_Fint* ierr)
{
MPI_Datatype c_type = MPI_Type_f2c(*type);
*ierr = OMPI_C_MPI_TYPE_NULL_COPY_FN( c_type, *type_keyval, extra_state,
attribute_val_in, attribute_val_out,
flag );
*flag = (ompi_fortran_logical_t) 0;
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
void mpi_type_dup_fn_f( MPI_Fint* type, int* type_keyval, void* extra_state,
void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr )
void mpi_type_dup_fn_f(MPI_Fint* type, MPI_Fint* type_keyval,
MPI_Fint* extra_state,
MPI_Fint* attribute_val_in,
MPI_Fint* attribute_val_out,
ompi_fortran_logical_t* flag, MPI_Fint* ierr )
{
MPI_Datatype c_type = MPI_Type_f2c(*type);
*ierr = OMPI_C_MPI_TYPE_DUP_FN( c_type, *type_keyval, extra_state,
attribute_val_in, attribute_val_out, flag );
*flag = (ompi_fortran_logical_t) 1;
*attribute_val_out = *attribute_val_in;
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
void mpi_comm_null_delete_fn_f( MPI_Fint* comm, int* comm_keyval,
void* attribute_val_out, int* flag, int* ierr )
void mpi_comm_null_delete_fn_f( MPI_Fint* comm, MPI_Fint* comm_keyval,
MPI_Fint* attribute_val_out,
MPI_Fint* extra_state, MPI_Fint* ierr )
{
MPI_Comm c_comm = MPI_Comm_f2c( *comm );
*ierr = OMPI_C_MPI_COMM_NULL_DELETE_FN( c_comm, *comm_keyval,
attribute_val_out, flag );
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
void mpi_comm_null_copy_fn_f( MPI_Fint* comm, int* comm_keyval, void* extra_state,
void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr )
void mpi_comm_null_copy_fn_f( MPI_Fint* comm, MPI_Fint* comm_keyval,
MPI_Fint* extra_state,
MPI_Fint* attribute_val_in,
MPI_Fint* attribute_val_out,
ompi_fortran_logical_t* flag, MPI_Fint* ierr )
{
MPI_Comm c_comm = MPI_Comm_f2c( *comm );
*ierr = OMPI_C_MPI_COMM_NULL_COPY_FN( c_comm, *comm_keyval, extra_state,
attribute_val_in, attribute_val_out,
flag );
*flag = (ompi_fortran_logical_t) 0;
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
void mpi_comm_dup_fn_f( MPI_Fint* comm, int* comm_keyval, void* extra_state,
void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr )
void mpi_comm_dup_fn_f( MPI_Fint* comm, MPI_Fint* comm_keyval,
MPI_Fint* extra_state,
MPI_Fint* attribute_val_in,
MPI_Fint* attribute_val_out,
ompi_fortran_logical_t* flag, MPI_Fint* ierr )
{
MPI_Comm c_comm = MPI_Comm_f2c( *comm );
*ierr = OMPI_C_MPI_COMM_DUP_FN( c_comm, *comm_keyval, extra_state,
attribute_val_in, attribute_val_out, flag );
*flag = (ompi_fortran_logical_t) 1;
*attribute_val_out = *attribute_val_in;
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
void mpi_null_delete_fn_f( MPI_Fint* comm, int* comm_keyval,
void* attribute_val_out, int* flag, int* ierr )
void mpi_null_delete_fn_f( MPI_Fint* comm, MPI_Fint* comm_keyval,
MPI_Fint* attribute_val_out,
MPI_Fint* extra_state, MPI_Fint* ierr )
{
MPI_Comm c_comm = MPI_Comm_f2c( *comm );
*ierr = OMPI_C_MPI_NULL_DELETE_FN( c_comm, *comm_keyval,
attribute_val_out, flag );
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
void mpi_null_copy_fn_f( MPI_Fint* comm, int* comm_keyval, void* extra_state,
void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr )
void mpi_null_copy_fn_f( MPI_Fint* comm, MPI_Fint* comm_keyval,
MPI_Fint* extra_state,
MPI_Fint* attribute_val_in,
MPI_Fint* attribute_val_out,
ompi_fortran_logical_t* flag, MPI_Fint* ierr )
{
MPI_Comm c_comm = MPI_Comm_f2c( *comm );
*ierr = OMPI_C_MPI_NULL_COPY_FN( c_comm, *comm_keyval, extra_state,
attribute_val_in, attribute_val_out,
flag );
*flag = (ompi_fortran_logical_t) 0;
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
void mpi_dup_fn_f( MPI_Fint* comm, int* comm_keyval, void* extra_state,
void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr )
void mpi_dup_fn_f( MPI_Fint* comm, MPI_Fint* comm_keyval,
MPI_Fint* extra_state,
MPI_Fint* attribute_val_in,
MPI_Fint* attribute_val_out,
ompi_fortran_logical_t* flag, MPI_Fint* ierr )
{
MPI_Comm c_comm = MPI_Comm_f2c( *comm );
*ierr = OMPI_C_MPI_DUP_FN( c_comm, *comm_keyval, extra_state,
attribute_val_in, attribute_val_out, flag );
*flag = (ompi_fortran_logical_t) 1;
*attribute_val_out = *attribute_val_in;
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
#if OMPI_WANT_MPI2_ONE_SIDED
void mpi_win_null_delete_fn_f( MPI_Fint* window, int* win_keyval,
void* attribute_val_out, int* flag, int* ierr )
void mpi_win_null_delete_fn_f( MPI_FMPI_Fint* window, MPI_Fint* win_keyval,
MPI_Fint* attribute_val_out,
MPI_Fint* extra_state, MPI_Fint* ierr )
{
MPI_Win c_window = MPI_Win_f2c( *window );
*ierr = OMPI_C_MPI_WIN_NULL_DELETE_FN( c_window, *win_keyval,
attribute_val_out, flag );
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
void mpi_win_null_copy_fn_f( MPI_Fint* window, int* win_keyval, void* extra_state,
void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr )
void mpi_win_null_copy_fn_f( MPI_Fint* window, MPI_Fint* win_keyval,
MPI_Fint* extra_state,
MPI_Fint* attribute_val_in,
MPI_Fint* attribute_val_out,
ompi_fortran_logical_t* flag, MPI_Fint* ierr )
{
MPI_Win c_window = MPI_Win_f2c( *window );
*ierr = OMPI_C_MPI_WIN_NULL_COPY_FN( c_window, *win_keyval, extra_state,
attribute_val_in, attribute_val_out,
flag );
*flag = (ompi_fortran_logical_t) 0;
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
void mpi_win_dup_fn_f( MPI_Fint* window, int* win_keyval, void* extra_state,
void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr )
void mpi_win_dup_fn_f( MPI_Fint* window, MPI_Fint* win_keyval,
MPI_Fint* extra_state,
MPI_Fint* attribute_val_in,
MPI_Fint* attribute_val_out,
ompi_fortran_logical_t* flag, MPI_Fint* ierr )
{
MPI_Win c_window = MPI_Win_f2c( *window );
*ierr = OMPI_C_MPI_WIN_DUP_FN( c_window, *win_keyval, extra_state,
attribute_val_in, attribute_val_out, flag );
*flag = (ompi_fortran_logical_t) 1;
*attribute_val_out = *attribute_val_in;
*ierr = OMPI_INT_2_FINT(MPI_SUCCESS);
}
#endif

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

@ -335,18 +335,18 @@ void mpi_win_wait_f(MPI_Fint *win, MPI_Fint *ierr);
double mpi_wtick_f(void);
double mpi_wtime_f(void);
void mpi_type_null_delete_fn_f(MPI_Fint* type, int* type_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_null_copy_fn_f(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_dup_fn_f(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_dup_fn_f(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_null_copy_fn_f(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_null_delete_fn_f(MPI_Fint* window, int* win_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_null_delete_fn_f(MPI_Fint* comm, int* comm_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_null_copy_fn_f(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_dup_fn_f(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_null_delete_fn_f(MPI_Fint* comm, int* comm_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_null_copy_fn_f(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_dup_fn_f(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_null_delete_fn_f(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_type_null_copy_fn_f(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_type_dup_fn_f(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_dup_fn_f(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_null_copy_fn_f(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_null_delete_fn_f(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_null_delete_fn_f(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_null_copy_fn_f(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_dup_fn_f(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_comm_null_delete_fn_f(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_comm_null_copy_fn_f(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_comm_dup_fn_f(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
#endif
@ -638,18 +638,18 @@ void mpi_win_wait(MPI_Fint *win, MPI_Fint *ierr);
double mpi_wtick(void);
double mpi_wtime(void);
void mpi_type_null_delete_fn(MPI_Fint* type, int* type_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_null_copy_fn(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_dup_fn(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_dup_fn(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_null_copy_fn(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_null_delete_fn(MPI_Fint* window, int* win_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_null_delete_fn(MPI_Fint* comm, int* comm_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_null_copy_fn(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_dup_fn(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_null_delete_fn(MPI_Fint* comm, int* comm_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_null_copy_fn(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_dup_fn(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_null_delete_fn(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_type_null_copy_fn(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_type_dup_fn(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_dup_fn(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_null_copy_fn(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_null_delete_fn(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_null_delete_fn(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_null_copy_fn(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_dup_fn(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_comm_null_delete_fn(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_comm_null_copy_fn(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_comm_dup_fn(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
/* These are all the single underscore prototypes */
@ -939,18 +939,18 @@ void mpi_win_wait_(MPI_Fint *win, MPI_Fint *ierr);
double mpi_wtick_(void);
double mpi_wtime_(void);
void mpi_type_null_delete_fn_(MPI_Fint* type, int* type_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_null_copy_fn_(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_dup_fn_(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_dup_fn_(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_null_copy_fn_(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_null_delete_fn_(MPI_Fint* window, int* win_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_null_delete_fn_(MPI_Fint* comm, int* comm_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_null_copy_fn_(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_dup_fn_(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_null_delete_fn_(MPI_Fint* comm, int* comm_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_null_copy_fn_(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_dup_fn_(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_null_delete_fn_(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_type_null_copy_fn_(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_type_dup_fn_(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_dup_fn_(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_null_copy_fn_(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_null_delete_fn_(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_null_delete_fn_(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_null_copy_fn_(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_dup_fn_(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_comm_null_delete_fn_(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_comm_null_copy_fn_(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_comm_dup_fn_(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
/* These are all the double underscore prototypes */
@ -1240,18 +1240,18 @@ void mpi_win_wait__(MPI_Fint *win, MPI_Fint *ierr);
double mpi_wtick__(void);
double mpi_wtime__(void);
void mpi_type_null_delete_fn__(MPI_Fint* type, int* type_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_null_copy_fn__(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_dup_fn__(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_dup_fn__(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_null_copy_fn__(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_win_null_delete_fn__(MPI_Fint* window, int* win_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_null_delete_fn__(MPI_Fint* comm, int* comm_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_null_copy_fn__(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_dup_fn__(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_null_delete_fn__(MPI_Fint* comm, int* comm_keyval, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_null_copy_fn__(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_comm_dup_fn__(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void mpi_type_null_delete_fn__(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_type_null_copy_fn__(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_type_dup_fn__(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_dup_fn__(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_null_copy_fn__(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_win_null_delete_fn__(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_null_delete_fn__(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_null_copy_fn__(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_dup_fn__(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_comm_null_delete_fn__(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void mpi_comm_null_copy_fn__(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void mpi_comm_dup_fn__(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
/* These are all the upper case prototypes */
@ -1541,17 +1541,17 @@ void MPI_WIN_WAIT(MPI_Fint *win, MPI_Fint *ierr);
double MPI_WTICK(void);
double MPI_WTIME(void);
void MPI_TYPE_NULL_DELETE_FN(MPI_Fint* type, int* type_keyval, void* attribute_val_out, int* flag, int* ierr);
void MPI_TYPE_NULL_COPY_FN(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void MPI_TYPE_DUP_FN(MPI_Fint* type, int* type_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void MPI_WIN_DUP_FN(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void MPI_WIN_NULL_COPY_FN(MPI_Fint* window, int* win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void MPI_WIN_NULL_DELETE_FN(MPI_Fint* window, int* win_keyval, void* attribute_val_out, int* flag, int* ierr);
void MPI_NULL_DELETE_FN(MPI_Fint* comm, int* comm_keyval, void* attribute_val_out, int* flag, int* ierr);
void MPI_NULL_COPY_FN(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void MPI_DUP_FN(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void MPI_COMM_NULL_DELETE_FN(MPI_Fint* comm, int* comm_keyval, void* attribute_val_out, int* flag, int* ierr);
void MPI_COMM_NULL_COPY_FN(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void MPI_COMM_DUP_FN(MPI_Fint* comm, int* comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, int* flag, int* ierr);
void MPI_TYPE_NULL_DELETE_FN(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void MPI_TYPE_NULL_COPY_FN(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void MPI_TYPE_DUP_FN(MPI_Fint* type, MPI_Fint* type_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void MPI_WIN_DUP_FN(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void MPI_WIN_NULL_COPY_FN(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void MPI_WIN_NULL_DELETE_FN(MPI_Fint* window, MPI_Fint* win_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void MPI_NULL_DELETE_FN(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void MPI_NULL_COPY_FN(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void MPI_DUP_FN(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void MPI_COMM_NULL_DELETE_FN(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* attribute_val_out, MPI_Fint* extra_state, MPI_Fint* ierr);
void MPI_COMM_NULL_COPY_FN(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
void MPI_COMM_DUP_FN(MPI_Fint* comm, MPI_Fint* comm_keyval, MPI_Fint* extra_state, MPI_Fint* attribute_val_in, MPI_Fint* attribute_val_out, ompi_fortran_logical_t* flag, MPI_Fint* ierr);
#endif