1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
/*
* Copyright (C) by Argonne National Laboratory
* See COPYRIGHT in top-level directory
*/
#include "adio.h"
#include "mpio.h"
#if defined(MPIO_BUILD_PROFILING) || defined(HAVE_WEAK_SYMBOLS)
#if defined(HAVE_WEAK_SYMBOLS)
#if defined(HAVE_PRAGMA_WEAK)
#if defined(FORTRANCAPS)
extern FORTRAN_API void FORT_CALL MPI_FILE_IREAD_AT(MPI_Fint *, MPI_Offset *, void *, MPI_Fint *,
MPI_Fint *, MPI_Fint *, MPI_Fint *);
#pragma weak MPI_FILE_IREAD_AT = PMPI_FILE_IREAD_AT
#elif defined(FORTRANDOUBLEUNDERSCORE)
extern FORTRAN_API void FORT_CALL mpi_file_iread_at__(MPI_Fint *, MPI_Offset *, void *, MPI_Fint *,
MPI_Fint *, MPI_Fint *, MPI_Fint *);
#pragma weak mpi_file_iread_at__ = pmpi_file_iread_at__
#elif !defined(FORTRANUNDERSCORE)
extern FORTRAN_API void FORT_CALL mpi_file_iread_at(MPI_Fint *, MPI_Offset *, void *, MPI_Fint *,
MPI_Fint *, MPI_Fint *, MPI_Fint *);
#pragma weak mpi_file_iread_at = pmpi_file_iread_at
#else
extern FORTRAN_API void FORT_CALL mpi_file_iread_at_(MPI_Fint *, MPI_Offset *, void *, MPI_Fint *,
MPI_Fint *, MPI_Fint *, MPI_Fint *);
#pragma weak mpi_file_iread_at_ = pmpi_file_iread_at_
#endif
#elif defined(HAVE_PRAGMA_HP_SEC_DEF)
#if defined(FORTRANCAPS)
#pragma _HP_SECONDARY_DEF PMPI_FILE_IREAD_AT MPI_FILE_IREAD_AT
#elif defined(FORTRANDOUBLEUNDERSCORE)
#pragma _HP_SECONDARY_DEF pmpi_file_iread_at__ mpi_file_iread_at__
#elif !defined(FORTRANUNDERSCORE)
#pragma _HP_SECONDARY_DEF pmpi_file_iread_at mpi_file_iread_at
#else
#pragma _HP_SECONDARY_DEF pmpi_file_iread_at_ mpi_file_iread_at_
#endif
#elif defined(HAVE_PRAGMA_CRI_DUP)
#if defined(FORTRANCAPS)
#pragma _CRI duplicate MPI_FILE_IREAD_AT as PMPI_FILE_IREAD_AT
#elif defined(FORTRANDOUBLEUNDERSCORE)
#pragma _CRI duplicate mpi_file_iread_at__ as pmpi_file_iread_at__
#elif !defined(FORTRANUNDERSCORE)
#pragma _CRI duplicate mpi_file_iread_at as pmpi_file_iread_at
#else
#pragma _CRI duplicate mpi_file_iread_at_ as pmpi_file_iread_at_
#endif
/* end of weak pragmas */
#endif
/* Include mapping from MPI->PMPI */
#include "mpioprof.h"
#endif
#ifdef FORTRANCAPS
#define mpi_file_iread_at_ PMPI_FILE_IREAD_AT
#elif defined(FORTRANDOUBLEUNDERSCORE)
#define mpi_file_iread_at_ pmpi_file_iread_at__
#elif !defined(FORTRANUNDERSCORE)
#if defined(HPUX) || defined(SPPUX)
#pragma _HP_SECONDARY_DEF pmpi_file_iread_at pmpi_file_iread_at_
#endif
#define mpi_file_iread_at_ pmpi_file_iread_at
#else
#if defined(HPUX) || defined(SPPUX)
#pragma _HP_SECONDARY_DEF pmpi_file_iread_at_ pmpi_file_iread_at
#endif
#define mpi_file_iread_at_ pmpi_file_iread_at_
#endif
#else
#ifdef FORTRANCAPS
#define mpi_file_iread_at_ MPI_FILE_IREAD_AT
#elif defined(FORTRANDOUBLEUNDERSCORE)
#define mpi_file_iread_at_ mpi_file_iread_at__
#elif !defined(FORTRANUNDERSCORE)
#if defined(HPUX) || defined(SPPUX)
#pragma _HP_SECONDARY_DEF mpi_file_iread_at mpi_file_iread_at_
#endif
#define mpi_file_iread_at_ mpi_file_iread_at
#else
#if defined(HPUX) || defined(SPPUX)
#pragma _HP_SECONDARY_DEF mpi_file_iread_at_ mpi_file_iread_at
#endif
#endif
#endif
#if defined(MPIHP)
/* Prototype to keep compiler happy */
void mpi_file_iread_at_(MPI_Fint * fh, MPI_Offset * offset, void *buf,
MPI_Fint * count, MPI_Fint * datatype, MPI_Fint * request, MPI_Fint * ierr);
void mpi_file_iread_at_(MPI_Fint * fh, MPI_Offset * offset, void *buf,
MPI_Fint * count, MPI_Fint * datatype, MPI_Fint * request, MPI_Fint * ierr)
{
MPI_File fh_c;
MPIO_Request req_c;
MPI_Datatype datatype_c;
fh_c = MPI_File_f2c(*fh);
datatype_c = MPI_Type_f2c(*datatype);
*ierr = MPI_File_iread_at(fh_c, *offset, buf, *count, datatype_c, &req_c);
*request = MPIO_Request_c2f(req_c);
}
#else
/* Prototype to keep compiler happy */
FORTRAN_API void FORT_CALL mpi_file_iread_at_(MPI_Fint * fh, MPI_Offset * offset, void *buf,
MPI_Fint * count, MPI_Datatype * datatype,
MPI_Fint * request, MPI_Fint * ierr);
FORTRAN_API void FORT_CALL mpi_file_iread_at_(MPI_Fint * fh, MPI_Offset * offset, void *buf,
MPI_Fint * count, MPI_Datatype * datatype,
MPI_Fint * request, MPI_Fint * ierr)
{
MPI_File fh_c;
MPIO_Request req_c;
fh_c = MPI_File_f2c(*fh);
*ierr = MPI_File_iread_at(fh_c, *offset, buf, *count, *datatype, &req_c);
*request = MPIO_Request_c2f(req_c);
}
#endif
|