83
83
#pragma _CRI duplicate mpi_comm_dup_ as pmpi_comm_dup_
86
#elif defined(HAVE_WEAK_ATTRIBUTE)
87
#if defined(F77_NAME_UPPER)
88
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_DUP")));
89
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_DUP")));
90
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_DUP")));
91
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_DUP")));
93
#elif defined(F77_NAME_LOWER_2USCORE)
94
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup__")));
95
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup__")));
96
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup__")));
97
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup__")));
99
#elif defined(F77_NAME_LOWER_USCORE)
100
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup_")));
101
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup_")));
102
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup_")));
103
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup_")));
106
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup")));
107
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup")));
108
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup")));
109
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup")));
85
112
#endif /* HAVE_PRAGMA_WEAK */
86
113
#endif /* USE_WEAK_SYMBOLS */
87
114
/* End MPI profiling block */
90
117
/* 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)
118
#if defined(USE_WEAK_SYMBOLS) && defined(USE_ONLY_MPI_NAMES)
119
#if defined(HAVE_MULTIPLE_PRAGMA_WEAK)
93
120
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * );
94
121
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * );
95
122
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * );
112
139
#pragma weak mpi_comm_dup__ = mpi_comm_dup
113
140
#pragma weak mpi_comm_dup_ = mpi_comm_dup
142
#elif defined(HAVE_WEAK_ATTRIBUTE)
143
#if defined(F77_NAME_UPPER)
144
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * );
145
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("MPI_COMM_DUP")));
146
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("MPI_COMM_DUP")));
147
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("MPI_COMM_DUP")));
149
#elif defined(F77_NAME_LOWER_2USCORE)
150
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_dup__")));
151
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * );
152
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_dup__")));
153
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_dup__")));
155
#elif defined(F77_NAME_LOWER_USCORE)
156
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_dup_")));
157
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_dup_")));
158
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup_( MPI_Fint *, MPI_Fint *, MPI_Fint * );
159
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_dup_")));
162
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_dup")));
163
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_dup")));
164
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_dup")));
165
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * );
118
172
/* Map the name to the correct form */
119
173
#ifndef MPICH_MPI_FROM_PMPI
120
#if defined(USE_WEAK_SYMBOLS) && defined(HAVE_MULTIPLE_PRAGMA_WEAK)
174
#if defined(USE_WEAK_SYMBOLS)
175
#if defined(HAVE_MULTIPLE_PRAGMA_WEAK)
121
176
/* Define the weak versions of the PMPI routine*/
122
177
#ifndef F77_NAME_UPPER
123
178
extern FORT_DLL_SPEC void FORT_CALL PMPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * );
150
205
#pragma weak pmpi_comm_dup__ = pmpi_comm_dup
151
206
#pragma weak pmpi_comm_dup_ = pmpi_comm_dup
152
207
#endif /* Test on name mapping */
153
#endif /* Use multiple pragma weak */
209
#elif defined(HAVE_WEAK_ATTRIBUTE)
210
#if defined(F77_NAME_UPPER)
211
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_DUP")));
212
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_dup_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_DUP")));
213
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_DUP")));
215
#elif defined(F77_NAME_LOWER_2USCORE)
216
extern FORT_DLL_SPEC void FORT_CALL PMPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup__")));
217
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_dup_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup__")));
218
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup__")));
220
#elif defined(F77_NAME_LOWER_USCORE)
221
extern FORT_DLL_SPEC void FORT_CALL PMPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup_")));
222
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup_")));
223
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_dup( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup_")));
226
extern FORT_DLL_SPEC void FORT_CALL PMPI_COMM_DUP( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup")));
227
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_dup__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup")));
228
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_dup_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_dup")));
230
#endif /* Test on name mapping */
231
#endif /* HAVE_MULTIPLE_PRAGMA_WEAK */
232
#endif /* USE_WEAK_SYMBOLS */
155
234
#ifdef F77_NAME_UPPER
156
235
#define mpi_comm_dup_ PMPI_COMM_DUP