From b375808928b2a70a34de5aa35b8495b64a9b67e5 Mon Sep 17 00:00:00 2001 From: Jeff Squyres Date: Thu, 19 Jun 2014 13:53:27 +0000 Subject: [PATCH] Fortran: add files accidentally skipped in r32042 cmr=v1.8.2:ticket=trac:4736 This commit was SVN r32046. The following SVN revision numbers were found above: r32042 --> open-mpi/ompi@fa764c15674fddb61e4e83d1d904223a8997152b The following Trac tickets were found above: Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736 --- .../fortran/mpif-h/win_allocate_shared_f.c | 86 +++++++++++++++++++ ompi/mpi/fortran/mpif-h/win_shared_query_f.c | 81 +++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100644 ompi/mpi/fortran/mpif-h/win_allocate_shared_f.c create mode 100644 ompi/mpi/fortran/mpif-h/win_shared_query_f.c diff --git a/ompi/mpi/fortran/mpif-h/win_allocate_shared_f.c b/ompi/mpi/fortran/mpif-h/win_allocate_shared_f.c new file mode 100644 index 0000000000..3db22dd2c4 --- /dev/null +++ b/ompi/mpi/fortran/mpif-h/win_allocate_shared_f.c @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2005 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, + * University of Stuttgart. All rights reserved. + * Copyright (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2011-2014 Cisco Systems, Inc. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include "ompi/mpi/fortran/mpif-h/bindings.h" + +#if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER +#pragma weak PMPI_WIN_ALLOCATE_SHARED = ompi_win_allocate_shared_f +#pragma weak pmpi_win_allocate_shared = ompi_win_allocate_shared_f +#pragma weak pmpi_win_allocate_shared_ = ompi_win_allocate_shared_f +#pragma weak pmpi_win_allocate_shared__ = ompi_win_allocate_shared_f + +#pragma weak Pmpi_win_allocate_shared_f = ompi_win_allocate_shared_f +#pragma weak Pmpi_win_allocate_shared_f08 = ompi_win_allocate_shared_f +#elif OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_ALLOCATE_SHARED, + pmpi_win_allocate_shared, + pmpi_win_allocate_shared_, + pmpi_win_allocate_shared__, + pompi_win_allocate_shared_f, + (MPI_Aint *size, MPI_Fint *disp_unit, + MPI_Fint *info, MPI_Fint *comm, char *baseptr, + MPI_Fint *win, MPI_Fint *ierr) +#endif + +#if OPAL_HAVE_WEAK_SYMBOLS +#pragma weak MPI_WIN_ALLOCATE_SHARED = ompi_win_allocate_shared_f +#pragma weak mpi_win_allocate_shared = ompi_win_allocate_shared_f +#pragma weak mpi_win_allocate_shared_ = ompi_win_allocate_shared_f +#pragma weak mpi_win_allocate_shared__ = ompi_win_allocate_shared_f + +#pragma weak mpi_win_allocate_shared_f = ompi_win_allocate_shared_f +#pragma weak mpi_win_allocate_shared_f08 = ompi_win_allocate_shared_f +#endif + +#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (MPI_WIN_ALLOCATE_SHARED, + mpi_win_allocate_shared, + mpi_win_allocate_shared_, + mpi_win_allocate_shared__, + ompi_win_allocate_shared_f, + (MPI_Aint *size, MPI_Fint *disp_unit, + MPI_Fint *info, MPI_Fint *comm, char *baseptr, + MPI_Fint *win, MPI_Fint *ierr) +#endif + + +#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS +#include "ompi/mpi/fortran/mpif-h/profile/defines.h" +#endif + +void ompi_win_allocate_shared_f(MPI_Aint *size, MPI_Fint *disp_unit, + MPI_Fint *info, MPI_Fint *comm, char *baseptr, + MPI_Fint *win, MPI_Fint *ierr) +{ + int c_ierr; + MPI_Info c_info; + MPI_Comm c_comm; + MPI_Win c_win; + + c_info = MPI_Info_f2c(*info); + c_comm = MPI_Comm_f2c(*comm); + + c_ierr = MPI_Win_allocate_shared(*size, OMPI_FINT_2_INT(*disp_unit), + c_info, c_comm, + baseptr, &c_win); + *win = MPI_Win_c2f(c_win); + if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); +} diff --git a/ompi/mpi/fortran/mpif-h/win_shared_query_f.c b/ompi/mpi/fortran/mpif-h/win_shared_query_f.c new file mode 100644 index 0000000000..8e25329a0b --- /dev/null +++ b/ompi/mpi/fortran/mpif-h/win_shared_query_f.c @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2005 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, + * University of Stuttgart. All rights reserved. + * Copyright (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2011-2014 Cisco Systems, Inc. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include "ompi/mpi/fortran/mpif-h/bindings.h" + +#if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER +#pragma weak PMPI_WIN_SHARED_QUERY = ompi_win_shared_query_f +#pragma weak pmpi_win_shared_query = ompi_win_shared_query_f +#pragma weak pmpi_win_shared_query_ = ompi_win_shared_query_f +#pragma weak pmpi_win_shared_query__ = ompi_win_shared_query_f + +#pragma weak Pmpi_win_shared_query_f = ompi_win_shared_query_f +#pragma weak Pmpi_win_shared_query_f08 = ompi_win_shared_query_f +#elif OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_SHARED_QUERY, + pmpi_win_shared_query, + pmpi_win_shared_query_, + pmpi_win_shared_query__, + pompi_win_shared_query_f, + (MPI_Fint *win, MPI_Fint *rank, MPI_Aint *size, + MPI_Fint *disp_unit, char *baseptr, + MPI_Fint *ierr) +#endif + +#if OPAL_HAVE_WEAK_SYMBOLS +#pragma weak MPI_WIN_SHARED_QUERY = ompi_win_shared_query_f +#pragma weak mpi_win_shared_query = ompi_win_shared_query_f +#pragma weak mpi_win_shared_query_ = ompi_win_shared_query_f +#pragma weak mpi_win_shared_query__ = ompi_win_shared_query_f + +#pragma weak mpi_win_shared_query_f = ompi_win_shared_query_f +#pragma weak mpi_win_shared_query_f08 = ompi_win_shared_query_f +#endif + +#if ! OPAL_HAVE_WEAK_SYMBOLS && ! OMPI_PROFILE_LAYER +OMPI_GENERATE_F77_BINDINGS (MPI_WIN_SHARED_QUERY, + mpi_win_shared_query, + mpi_win_shared_query_, + mpi_win_shared_query__, + ompi_win_shared_query_f, + (MPI_Fint *win, MPI_Fint *rank, MPI_Aint *size, + MPI_Fint *disp_unit, char *baseptr, + MPI_Fint *ierr) +#endif + + +#if OMPI_PROFILE_LAYER && ! OPAL_HAVE_WEAK_SYMBOLS +#include "ompi/mpi/fortran/mpif-h/profile/defines.h" +#endif + +void ompi_win_shared_query_f(MPI_Fint *win, MPI_Fint *rank, MPI_Aint *size, + MPI_Fint *disp_unit, char *baseptr, + MPI_Fint *ierr) +{ + int c_ierr; + MPI_Win c_win; + + c_win = MPI_Win_f2c(*win); + + c_ierr = MPI_Win_shared_query(c_win, OMPI_FINT_2_INT(*rank), size, + OMPI_FINT_2_INT(disp_unit), baseptr); + if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); +}