-: 0:Source:/home/MPI/testing/mpich2/mpich2/src/binding/f77/winnewkeyf.c
-: 0:Graph:winnewkeyf.gcno
-: 0:Data:winnewkeyf.gcda
-: 0:Runs:2
-: 0:Programs:2
-: 1:/* -*- Mode: C; c-basic-offset:4 ; -*- */
-: 2:/*
-: 3: * (C) 2001 by Argonne National Laboratory.
-: 4: * See COPYRIGHT in top-level directory.
-: 5: *
-: 6: * This file is automatically generated by buildiface
-: 7: * DO NOT EDIT
-: 8: */
-: 9:#include "mpi_fortimpl.h"
-: 10:
-: 11:
-: 12:/* Begin MPI profiling block */
-: 13:#if defined(USE_WEAK_SYMBOLS) && !defined(USE_ONLY_MPI_NAMES)
-: 14:#if defined(HAVE_MULTIPLE_PRAGMA_WEAK)
-: 15:extern FORT_DLL_SPEC void FORT_CALL MPI_WIN_CREATE_KEYVAL( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 16:extern FORT_DLL_SPEC void FORT_CALL mpi_win_create_keyval__( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 17:extern FORT_DLL_SPEC void FORT_CALL mpi_win_create_keyval( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 18:extern FORT_DLL_SPEC void FORT_CALL mpi_win_create_keyval_( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 19:
-: 20:#if defined(F77_NAME_UPPER)
-: 21:#pragma weak MPI_WIN_CREATE_KEYVAL = PMPI_WIN_CREATE_KEYVAL
-: 22:#pragma weak mpi_win_create_keyval__ = PMPI_WIN_CREATE_KEYVAL
-: 23:#pragma weak mpi_win_create_keyval_ = PMPI_WIN_CREATE_KEYVAL
-: 24:#pragma weak mpi_win_create_keyval = PMPI_WIN_CREATE_KEYVAL
-: 25:#elif defined(F77_NAME_LOWER_2USCORE)
-: 26:#pragma weak MPI_WIN_CREATE_KEYVAL = pmpi_win_create_keyval__
-: 27:#pragma weak mpi_win_create_keyval__ = pmpi_win_create_keyval__
-: 28:#pragma weak mpi_win_create_keyval_ = pmpi_win_create_keyval__
-: 29:#pragma weak mpi_win_create_keyval = pmpi_win_create_keyval__
-: 30:#elif defined(F77_NAME_LOWER_USCORE)
-: 31:#pragma weak MPI_WIN_CREATE_KEYVAL = pmpi_win_create_keyval_
-: 32:#pragma weak mpi_win_create_keyval__ = pmpi_win_create_keyval_
-: 33:#pragma weak mpi_win_create_keyval_ = pmpi_win_create_keyval_
-: 34:#pragma weak mpi_win_create_keyval = pmpi_win_create_keyval_
-: 35:#else
-: 36:#pragma weak MPI_WIN_CREATE_KEYVAL = pmpi_win_create_keyval
-: 37:#pragma weak mpi_win_create_keyval__ = pmpi_win_create_keyval
-: 38:#pragma weak mpi_win_create_keyval_ = pmpi_win_create_keyval
-: 39:#pragma weak mpi_win_create_keyval = pmpi_win_create_keyval
-: 40:#endif
-: 41:
-: 42:
-: 43:
-: 44:#elif defined(HAVE_PRAGMA_WEAK)
-: 45:
-: 46:#if defined(F77_NAME_UPPER)
-: 47:extern FORT_DLL_SPEC void FORT_CALL MPI_WIN_CREATE_KEYVAL( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 48:
-: 49:#pragma weak MPI_WIN_CREATE_KEYVAL = PMPI_WIN_CREATE_KEYVAL
-: 50:#elif defined(F77_NAME_LOWER_2USCORE)
-: 51:extern FORT_DLL_SPEC void FORT_CALL mpi_win_create_keyval__( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 52:
-: 53:#pragma weak mpi_win_create_keyval__ = pmpi_win_create_keyval__
-: 54:#elif !defined(F77_NAME_LOWER_USCORE)
-: 55:extern FORT_DLL_SPEC void FORT_CALL mpi_win_create_keyval( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 56:
-: 57:#pragma weak mpi_win_create_keyval = pmpi_win_create_keyval
-: 58:#else
-: 59:extern FORT_DLL_SPEC void FORT_CALL mpi_win_create_keyval_( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 60:
-: 61:#pragma weak mpi_win_create_keyval_ = pmpi_win_create_keyval_
-: 62:#endif
-: 63:
-: 64:#elif defined(HAVE_PRAGMA_HP_SEC_DEF)
-: 65:#if defined(F77_NAME_UPPER)
-: 66:#pragma _HP_SECONDARY_DEF PMPI_WIN_CREATE_KEYVAL MPI_WIN_CREATE_KEYVAL
-: 67:#elif defined(F77_NAME_LOWER_2USCORE)
-: 68:#pragma _HP_SECONDARY_DEF pmpi_win_create_keyval__ mpi_win_create_keyval__
-: 69:#elif !defined(F77_NAME_LOWER_USCORE)
-: 70:#pragma _HP_SECONDARY_DEF pmpi_win_create_keyval mpi_win_create_keyval
-: 71:#else
-: 72:#pragma _HP_SECONDARY_DEF pmpi_win_create_keyval_ mpi_win_create_keyval_
-: 73:#endif
-: 74:
-: 75:#elif defined(HAVE_PRAGMA_CRI_DUP)
-: 76:#if defined(F77_NAME_UPPER)
-: 77:#pragma _CRI duplicate MPI_WIN_CREATE_KEYVAL as PMPI_WIN_CREATE_KEYVAL
-: 78:#elif defined(F77_NAME_LOWER_2USCORE)
-: 79:#pragma _CRI duplicate mpi_win_create_keyval__ as pmpi_win_create_keyval__
-: 80:#elif !defined(F77_NAME_LOWER_USCORE)
-: 81:#pragma _CRI duplicate mpi_win_create_keyval as pmpi_win_create_keyval
-: 82:#else
-: 83:#pragma _CRI duplicate mpi_win_create_keyval_ as pmpi_win_create_keyval_
-: 84:#endif
-: 85:#endif /* HAVE_PRAGMA_WEAK */
-: 86:#endif /* USE_WEAK_SYMBOLS */
-: 87:/* End MPI profiling block */
-: 88:
-: 89:
-: 90:/* These definitions are used only for generating the Fortran wrappers */
-: 91:#if defined(USE_WEAK_SYMBOLS) && defined(HAVE_MULTIPLE_PRAGMA_WEAK) && \
-: 92: defined(USE_ONLY_MPI_NAMES)
-: 93:extern FORT_DLL_SPEC void FORT_CALL MPI_WIN_CREATE_KEYVAL( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 94:extern FORT_DLL_SPEC void FORT_CALL mpi_win_create_keyval__( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 95:extern FORT_DLL_SPEC void FORT_CALL mpi_win_create_keyval( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 96:extern FORT_DLL_SPEC void FORT_CALL mpi_win_create_keyval_( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 97:
-: 98:#if defined(F77_NAME_UPPER)
-: 99:#pragma weak mpi_win_create_keyval__ = MPI_WIN_CREATE_KEYVAL
-: 100:#pragma weak mpi_win_create_keyval_ = MPI_WIN_CREATE_KEYVAL
-: 101:#pragma weak mpi_win_create_keyval = MPI_WIN_CREATE_KEYVAL
-: 102:#elif defined(F77_NAME_LOWER_2USCORE)
-: 103:#pragma weak MPI_WIN_CREATE_KEYVAL = mpi_win_create_keyval__
-: 104:#pragma weak mpi_win_create_keyval_ = mpi_win_create_keyval__
-: 105:#pragma weak mpi_win_create_keyval = mpi_win_create_keyval__
-: 106:#elif defined(F77_NAME_LOWER_USCORE)
-: 107:#pragma weak MPI_WIN_CREATE_KEYVAL = mpi_win_create_keyval_
-: 108:#pragma weak mpi_win_create_keyval__ = mpi_win_create_keyval_
-: 109:#pragma weak mpi_win_create_keyval = mpi_win_create_keyval_
-: 110:#else
-: 111:#pragma weak MPI_WIN_CREATE_KEYVAL = mpi_win_create_keyval
-: 112:#pragma weak mpi_win_create_keyval__ = mpi_win_create_keyval
-: 113:#pragma weak mpi_win_create_keyval_ = mpi_win_create_keyval
-: 114:#endif
-: 115:
-: 116:#endif
-: 117:
-: 118:/* Map the name to the correct form */
-: 119:#ifndef MPICH_MPI_FROM_PMPI
-: 120:#if defined(USE_WEAK_SYMBOLS) && defined(HAVE_MULTIPLE_PRAGMA_WEAK)
-: 121:/* Define the weak versions of the PMPI routine*/
-: 122:#ifndef F77_NAME_UPPER
-: 123:extern FORT_DLL_SPEC void FORT_CALL PMPI_WIN_CREATE_KEYVAL( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 124:#endif
-: 125:#ifndef F77_NAME_LOWER_2USCORE
-: 126:extern FORT_DLL_SPEC void FORT_CALL pmpi_win_create_keyval__( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 127:#endif
-: 128:#ifndef F77_NAME_LOWER_USCORE
-: 129:extern FORT_DLL_SPEC void FORT_CALL pmpi_win_create_keyval_( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 130:#endif
-: 131:#ifndef F77_NAME_LOWER
-: 132:extern FORT_DLL_SPEC void FORT_CALL pmpi_win_create_keyval( MPI_Win_copy_attr_function*, MPI_Win_delete_attr_function*, MPI_Fint *, void*, MPI_Fint * );
-: 133:
-: 134:#endif
-: 135:
-: 136:#if defined(F77_NAME_UPPER)
-: 137:#pragma weak pmpi_win_create_keyval__ = PMPI_WIN_CREATE_KEYVAL
-: 138:#pragma weak pmpi_win_create_keyval_ = PMPI_WIN_CREATE_KEYVAL
-: 139:#pragma weak pmpi_win_create_keyval = PMPI_WIN_CREATE_KEYVAL
-: 140:#elif defined(F77_NAME_LOWER_2USCORE)
-: 141:#pragma weak PMPI_WIN_CREATE_KEYVAL = pmpi_win_create_keyval__
-: 142:#pragma weak pmpi_win_create_keyval_ = pmpi_win_create_keyval__
-: 143:#pragma weak pmpi_win_create_keyval = pmpi_win_create_keyval__
-: 144:#elif defined(F77_NAME_LOWER_USCORE)
-: 145:#pragma weak PMPI_WIN_CREATE_KEYVAL = pmpi_win_create_keyval_
-: 146:#pragma weak pmpi_win_create_keyval__ = pmpi_win_create_keyval_
-: 147:#pragma weak pmpi_win_create_keyval = pmpi_win_create_keyval_
-: 148:#else
-: 149:#pragma weak PMPI_WIN_CREATE_KEYVAL = pmpi_win_create_keyval
-: 150:#pragma weak pmpi_win_create_keyval__ = pmpi_win_create_keyval
-: 151:#pragma weak pmpi_win_create_keyval_ = pmpi_win_create_keyval
-: 152:#endif /* Test on name mapping */
-: 153:#endif /* Use multiple pragma weak */
-: 154:
-: 155:#ifdef F77_NAME_UPPER
-: 156:#define mpi_win_create_keyval_ PMPI_WIN_CREATE_KEYVAL
-: 157:#elif defined(F77_NAME_LOWER_2USCORE)
-: 158:#define mpi_win_create_keyval_ pmpi_win_create_keyval__
-: 159:#elif !defined(F77_NAME_LOWER_USCORE)
-: 160:#define mpi_win_create_keyval_ pmpi_win_create_keyval
-: 161:#else
-: 162:#define mpi_win_create_keyval_ pmpi_win_create_keyval_
-: 163:#endif /* Test on name mapping */
-: 164:
-: 165:/* This defines the routine that we call, which must be the PMPI version
-: 166: since we're renaming the Fortran entry as the pmpi version. The MPI name
-: 167: must be undefined first to prevent any conflicts with previous renamings,
-: 168: such as those put in place by the globus device when it is building on
-: 169: top of a vendor MPI. */
-: 170:#undef MPI_Win_create_keyval
-: 171:#define MPI_Win_create_keyval PMPI_Win_create_keyval
-: 172:
-: 173:#else
-: 174:
-: 175:#ifdef F77_NAME_UPPER
-: 176:#define mpi_win_create_keyval_ MPI_WIN_CREATE_KEYVAL
-: 177:#elif defined(F77_NAME_LOWER_2USCORE)
-: 178:#define mpi_win_create_keyval_ mpi_win_create_keyval__
-: 179:#elif !defined(F77_NAME_LOWER_USCORE)
-: 180:#define mpi_win_create_keyval_ mpi_win_create_keyval
-: 181:/* Else leave name alone */
-: 182:#endif
-: 183:
-: 184:
-: 185:#endif /* MPICH_MPI_FROM_PMPI */
-: 186:
-: 187:/* Prototypes for the Fortran interfaces */
-: 188:#include "fproto.h"
-: 189:
-: 190:
-: 191:/* The F90 attr copy function prototype and calling convention */
-: 192:typedef void (FORT_CALL F90_CopyFunction) (MPI_Fint *, MPI_Fint *, MPI_Aint *, MPI_Aint *,MPI_Aint *, MPI_Fint *, MPI_Fint *);
-: 193:
-: 194:/* Helper proxy function to thunk the attr copy function call into F90 calling convention */
-: 195:static
-: 196:int
-: 197:MPIR_Win_copy_attr_f90_proxy(
-: 198: MPI_Win_copy_attr_function* user_function,
-: 199: MPI_Win win,
-: 200: int keyval,
-: 201: void* extra_state,
-: 202: MPIR_AttrType value_type,
-: 203: void* value,
-: 204: void** new_value,
-: 205: int* flag
-: 206: )
|
#####: 207:{
#####: 208: MPI_Fint ierr = 0;
#####: 209: MPI_Fint fhandle = (MPI_Fint)win;
#####: 210: MPI_Fint fkeyval = (MPI_Fint)keyval;
#####: 211: MPI_Aint fvalue = MPI_VOID_PTR_CAST_TO_MPI_AINT (value);
#####: 212: MPI_Aint* fextra = (MPI_Aint*)extra_state;
#####: 213: MPI_Aint fnew = 0;
#####: 214: MPI_Fint fflag = 0;
-: 215:
#####: 216: ((F90_CopyFunction*)user_function)( &fhandle, &fkeyval, fextra, &fvalue, &fnew, &fflag, &ierr );
-: 217:
#####: 218: *flag = fflag;
#####: 219: *new_value = MPI_AINT_CAST_TO_VOID_PTR (fnew);
#####: 220: return ierr;
-: 221:}
-: 222:
-: 223:
-: 224:/* The F90 attr delete function prototype and calling convention */
-: 225:typedef void (FORT_CALL F90_DeleteFunction) (MPI_Fint *, MPI_Fint *, MPI_Aint *, MPI_Aint *, MPI_Fint *);
-: 226:
-: 227:/* Helper proxy function to thunk the attr delete function call into F77 calling convention */
-: 228:static
-: 229:int
-: 230:MPIR_Win_delete_attr_f90_proxy(
-: 231: MPI_Win_delete_attr_function* user_function,
-: 232: MPI_Win win,
-: 233: int keyval,
-: 234: MPIR_AttrType value_type,
-: 235: void* value,
-: 236: void* extra_state
-: 237: )
|
6: 238:{
6: 239: MPI_Fint ierr = 0;
6: 240: MPI_Fint fhandle = (MPI_Fint)win;
6: 241: MPI_Fint fkeyval = (MPI_Fint)keyval;
6: 242: MPI_Aint fvalue = MPI_VOID_PTR_CAST_TO_MPI_AINT (value);
6: 243: MPI_Aint* fextra = (MPI_Aint*)extra_state;
-: 244:
6: 245: ((F90_DeleteFunction*)user_function)( &fhandle, &fkeyval, &fvalue, fextra, &ierr );
6: 246: return ierr;
-: 247:}
2: 248:FORT_DLL_SPEC void FORT_CALL mpi_win_create_keyval_ ( MPI_Win_copy_attr_function*v1, MPI_Win_delete_attr_function*v2, MPI_Fint *v3, void*v4, MPI_Fint *ierr ){
2: 249: *ierr = MPI_Win_create_keyval( v1, v2, v3, v4 );
-: 250:
2: 251: if (*ierr == MPI_SUCCESS) {
2: 252: MPIR_Keyval_set_proxy( *v3, MPIR_Win_copy_attr_f90_proxy, MPIR_Win_delete_attr_f90_proxy );
-: 253: }
2: 254:}
|