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