83
83
#pragma _CRI duplicate mpi_comm_split_ as pmpi_comm_split_
86
#elif defined(HAVE_WEAK_ATTRIBUTE)
87
#if defined(F77_NAME_UPPER)
88
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_SPLIT")));
89
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_SPLIT")));
90
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split_( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_SPLIT")));
91
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_SPLIT")));
93
#elif defined(F77_NAME_LOWER_2USCORE)
94
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split__")));
95
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split__")));
96
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split_( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split__")));
97
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split__")));
99
#elif defined(F77_NAME_LOWER_USCORE)
100
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split_")));
101
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split_")));
102
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split_( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split_")));
103
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split_")));
106
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split")));
107
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split")));
108
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split_( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split")));
109
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split")));
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_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );
94
121
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );
95
122
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );
112
139
#pragma weak mpi_comm_split__ = mpi_comm_split
113
140
#pragma weak mpi_comm_split_ = mpi_comm_split
142
#elif defined(HAVE_WEAK_ATTRIBUTE)
143
#if defined(F77_NAME_UPPER)
144
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );
145
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("MPI_COMM_SPLIT")));
146
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split_( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("MPI_COMM_SPLIT")));
147
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("MPI_COMM_SPLIT")));
149
#elif defined(F77_NAME_LOWER_2USCORE)
150
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_split__")));
151
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );
152
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split_( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_split__")));
153
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_split__")));
155
#elif defined(F77_NAME_LOWER_USCORE)
156
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_split_")));
157
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_split_")));
158
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split_( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );
159
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_split_")));
162
extern FORT_DLL_SPEC void FORT_CALL MPI_COMM_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_split")));
163
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_split")));
164
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split_( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("mpi_comm_split")));
165
extern FORT_DLL_SPEC void FORT_CALL mpi_comm_split( MPI_Fint *, MPI_Fint *, 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_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );
150
205
#pragma weak pmpi_comm_split__ = pmpi_comm_split
151
206
#pragma weak pmpi_comm_split_ = pmpi_comm_split
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_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_SPLIT")));
212
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_split_( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_SPLIT")));
213
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_split( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_COMM_SPLIT")));
215
#elif defined(F77_NAME_LOWER_2USCORE)
216
extern FORT_DLL_SPEC void FORT_CALL PMPI_COMM_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split__")));
217
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_split_( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split__")));
218
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_split( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split__")));
220
#elif defined(F77_NAME_LOWER_USCORE)
221
extern FORT_DLL_SPEC void FORT_CALL PMPI_COMM_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split_")));
222
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split_")));
223
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_split( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split_")));
226
extern FORT_DLL_SPEC void FORT_CALL PMPI_COMM_SPLIT( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split")));
227
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_split__( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split")));
228
extern FORT_DLL_SPEC void FORT_CALL pmpi_comm_split_( MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_comm_split")));
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_split_ PMPI_COMM_SPLIT