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