1 /*
2 * Copyright (C) by Argonne National Laboratory
3 * See COPYRIGHT in top-level directory
4 *
5 * This file is automatically generated by buildiface
6 * DO NOT EDIT
7 */
8 #include "mpi_fortimpl.h"
9
10
11 /* Begin MPI profiling block */
12 #if defined(USE_WEAK_SYMBOLS) && !defined(USE_ONLY_MPI_NAMES)
13 #if defined(HAVE_MULTIPLE_PRAGMA_WEAK)
14 extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
15 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
16 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
17 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
18
19 #if defined(F77_NAME_UPPER)
20 #pragma weak MPI_REGISTER_DATAREP = PMPI_REGISTER_DATAREP
21 #pragma weak mpi_register_datarep__ = PMPI_REGISTER_DATAREP
22 #pragma weak mpi_register_datarep_ = PMPI_REGISTER_DATAREP
23 #pragma weak mpi_register_datarep = PMPI_REGISTER_DATAREP
24 #elif defined(F77_NAME_LOWER_2USCORE)
25 #pragma weak MPI_REGISTER_DATAREP = pmpi_register_datarep__
26 #pragma weak mpi_register_datarep__ = pmpi_register_datarep__
27 #pragma weak mpi_register_datarep_ = pmpi_register_datarep__
28 #pragma weak mpi_register_datarep = pmpi_register_datarep__
29 #elif defined(F77_NAME_LOWER_USCORE)
30 #pragma weak MPI_REGISTER_DATAREP = pmpi_register_datarep_
31 #pragma weak mpi_register_datarep__ = pmpi_register_datarep_
32 #pragma weak mpi_register_datarep_ = pmpi_register_datarep_
33 #pragma weak mpi_register_datarep = pmpi_register_datarep_
34 #else
35 #pragma weak MPI_REGISTER_DATAREP = pmpi_register_datarep
36 #pragma weak mpi_register_datarep__ = pmpi_register_datarep
37 #pragma weak mpi_register_datarep_ = pmpi_register_datarep
38 #pragma weak mpi_register_datarep = pmpi_register_datarep
39 #endif
40
41
42
43 #elif defined(HAVE_PRAGMA_WEAK)
44
45 #if defined(F77_NAME_UPPER)
46 extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
47
48 #pragma weak MPI_REGISTER_DATAREP = PMPI_REGISTER_DATAREP
49 #elif defined(F77_NAME_LOWER_2USCORE)
50 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
51
52 #pragma weak mpi_register_datarep__ = pmpi_register_datarep__
53 #elif !defined(F77_NAME_LOWER_USCORE)
54 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
55
56 #pragma weak mpi_register_datarep = pmpi_register_datarep
57 #else
58 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
59
60 #pragma weak mpi_register_datarep_ = pmpi_register_datarep_
61 #endif
62
63 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
64 #if defined(F77_NAME_UPPER)
65 #pragma _HP_SECONDARY_DEF PMPI_REGISTER_DATAREP MPI_REGISTER_DATAREP
66 #elif defined(F77_NAME_LOWER_2USCORE)
67 #pragma _HP_SECONDARY_DEF pmpi_register_datarep__ mpi_register_datarep__
68 #elif !defined(F77_NAME_LOWER_USCORE)
69 #pragma _HP_SECONDARY_DEF pmpi_register_datarep mpi_register_datarep
70 #else
71 #pragma _HP_SECONDARY_DEF pmpi_register_datarep_ mpi_register_datarep_
72 #endif
73
74 #elif defined(HAVE_PRAGMA_CRI_DUP)
75 #if defined(F77_NAME_UPPER)
76 #pragma _CRI duplicate MPI_REGISTER_DATAREP as PMPI_REGISTER_DATAREP
77 #elif defined(F77_NAME_LOWER_2USCORE)
78 #pragma _CRI duplicate mpi_register_datarep__ as pmpi_register_datarep__
79 #elif !defined(F77_NAME_LOWER_USCORE)
80 #pragma _CRI duplicate mpi_register_datarep as pmpi_register_datarep
81 #else
82 #pragma _CRI duplicate mpi_register_datarep_ as pmpi_register_datarep_
83 #endif
84
85 #elif defined(HAVE_WEAK_ATTRIBUTE)
86 #if defined(F77_NAME_UPPER)
87 extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("PMPI_REGISTER_DATAREP")));
88 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("PMPI_REGISTER_DATAREP")));
89 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("PMPI_REGISTER_DATAREP")));
90 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("PMPI_REGISTER_DATAREP")));
91
92 #elif defined(F77_NAME_LOWER_2USCORE)
93 extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep__")));
94 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep__")));
95 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep__")));
96 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep__")));
97
98 #elif defined(F77_NAME_LOWER_USCORE)
99 extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep_")));
100 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep_")));
101 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep_")));
102 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep_")));
103
104 #else
105 extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep")));
106 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep")));
107 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep")));
108 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep")));
109
110 #endif
111 #endif /* HAVE_PRAGMA_WEAK */
112 #endif /* USE_WEAK_SYMBOLS */
113 /* End MPI profiling block */
114
115
116 /* These definitions are used only for generating the Fortran wrappers */
117 #if defined(USE_WEAK_SYMBOLS) && defined(USE_ONLY_MPI_NAMES)
118 #if defined(HAVE_MULTIPLE_PRAGMA_WEAK)
119 extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
120 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
121 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
122 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
123
124 #if defined(F77_NAME_UPPER)
125 #pragma weak mpi_register_datarep__ = MPI_REGISTER_DATAREP
126 #pragma weak mpi_register_datarep_ = MPI_REGISTER_DATAREP
127 #pragma weak mpi_register_datarep = MPI_REGISTER_DATAREP
128 #elif defined(F77_NAME_LOWER_2USCORE)
129 #pragma weak MPI_REGISTER_DATAREP = mpi_register_datarep__
130 #pragma weak mpi_register_datarep_ = mpi_register_datarep__
131 #pragma weak mpi_register_datarep = mpi_register_datarep__
132 #elif defined(F77_NAME_LOWER_USCORE)
133 #pragma weak MPI_REGISTER_DATAREP = mpi_register_datarep_
134 #pragma weak mpi_register_datarep__ = mpi_register_datarep_
135 #pragma weak mpi_register_datarep = mpi_register_datarep_
136 #else
137 #pragma weak MPI_REGISTER_DATAREP = mpi_register_datarep
138 #pragma weak mpi_register_datarep__ = mpi_register_datarep
139 #pragma weak mpi_register_datarep_ = mpi_register_datarep
140 #endif
141 #elif defined(HAVE_WEAK_ATTRIBUTE)
142 #if defined(F77_NAME_UPPER)
143 extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
144 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("MPI_REGISTER_DATAREP")));
145 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("MPI_REGISTER_DATAREP")));
146 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("MPI_REGISTER_DATAREP")));
147
148 #elif defined(F77_NAME_LOWER_2USCORE)
149 extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("mpi_register_datarep__")));
150 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
151 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("mpi_register_datarep__")));
152 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("mpi_register_datarep__")));
153
154 #elif defined(F77_NAME_LOWER_USCORE)
155 extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("mpi_register_datarep_")));
156 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("mpi_register_datarep_")));
157 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
158 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("mpi_register_datarep_")));
159
160 #else
161 extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("mpi_register_datarep")));
162 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("mpi_register_datarep")));
163 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("mpi_register_datarep")));
164 extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
165
166 #endif
167 #endif
168
169 #endif
170
171 /* Map the name to the correct form */
172 #ifndef MPICH_MPI_FROM_PMPI
173 #if defined(USE_WEAK_SYMBOLS)
174 #if defined(HAVE_MULTIPLE_PRAGMA_WEAK)
175 /* Define the weak versions of the PMPI routine*/
176 #ifndef F77_NAME_UPPER
177 extern FORT_DLL_SPEC void FORT_CALL PMPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
178 #endif
179 #ifndef F77_NAME_LOWER_2USCORE
180 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
181 #endif
182 #ifndef F77_NAME_LOWER_USCORE
183 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
184 #endif
185 #ifndef F77_NAME_LOWER
186 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
187
188 #endif
189
190 #if defined(F77_NAME_UPPER)
191 #pragma weak pmpi_register_datarep__ = PMPI_REGISTER_DATAREP
192 #pragma weak pmpi_register_datarep_ = PMPI_REGISTER_DATAREP
193 #pragma weak pmpi_register_datarep = PMPI_REGISTER_DATAREP
194 #elif defined(F77_NAME_LOWER_2USCORE)
195 #pragma weak PMPI_REGISTER_DATAREP = pmpi_register_datarep__
196 #pragma weak pmpi_register_datarep_ = pmpi_register_datarep__
197 #pragma weak pmpi_register_datarep = pmpi_register_datarep__
198 #elif defined(F77_NAME_LOWER_USCORE)
199 #pragma weak PMPI_REGISTER_DATAREP = pmpi_register_datarep_
200 #pragma weak pmpi_register_datarep__ = pmpi_register_datarep_
201 #pragma weak pmpi_register_datarep = pmpi_register_datarep_
202 #else
203 #pragma weak PMPI_REGISTER_DATAREP = pmpi_register_datarep
204 #pragma weak pmpi_register_datarep__ = pmpi_register_datarep
205 #pragma weak pmpi_register_datarep_ = pmpi_register_datarep
206 #endif /* Test on name mapping */
207
208 #elif defined(HAVE_WEAK_ATTRIBUTE)
209 #if defined(F77_NAME_UPPER)
210 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("PMPI_REGISTER_DATAREP")));
211 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("PMPI_REGISTER_DATAREP")));
212 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("PMPI_REGISTER_DATAREP")));
213
214 #elif defined(F77_NAME_LOWER_2USCORE)
215 extern FORT_DLL_SPEC void FORT_CALL PMPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep__")));
216 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep__")));
217 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep__")));
218
219 #elif defined(F77_NAME_LOWER_USCORE)
220 extern FORT_DLL_SPEC void FORT_CALL PMPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep_")));
221 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep_")));
222 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep_")));
223
224 #else
225 extern FORT_DLL_SPEC void FORT_CALL PMPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep")));
226 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep")));
227 extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL ) __attribute__((weak,alias("pmpi_register_datarep")));
228
229 #endif /* Test on name mapping */
230 #endif /* HAVE_MULTIPLE_PRAGMA_WEAK */
231 #endif /* USE_WEAK_SYMBOLS */
232
233 #ifdef F77_NAME_UPPER
234 #define mpi_register_datarep_ PMPI_REGISTER_DATAREP
235 #elif defined(F77_NAME_LOWER_2USCORE)
236 #define mpi_register_datarep_ pmpi_register_datarep__
237 #elif !defined(F77_NAME_LOWER_USCORE)
238 #define mpi_register_datarep_ pmpi_register_datarep
239 #else
240 #define mpi_register_datarep_ pmpi_register_datarep_
241 #endif /* Test on name mapping */
242
243 #ifdef F77_USE_PMPI
244 /* This defines the routine that we call, which must be the PMPI version
245 since we're renaming the Fortran entry as the pmpi version. The MPI name
246 must be undefined first to prevent any conflicts with previous renamings. */
247 #undef MPI_Register_datarep
248 #define MPI_Register_datarep PMPI_Register_datarep
249 #endif
250
251 #else
252
253 #ifdef F77_NAME_UPPER
254 #define mpi_register_datarep_ MPI_REGISTER_DATAREP
255 #elif defined(F77_NAME_LOWER_2USCORE)
256 #define mpi_register_datarep_ mpi_register_datarep__
257 #elif !defined(F77_NAME_LOWER_USCORE)
258 #define mpi_register_datarep_ mpi_register_datarep
259 /* Else leave name alone */
260 #endif
261
262
263 #endif /* MPICH_MPI_FROM_PMPI */
264
265 /* Prototypes for the Fortran interfaces */
266 #include "fproto.h"
267
268 /* There is a dummy routine, mpi_conversion_fn_null, that is available
269 for use as the conversion function for MPI_Register_datarep.
270 Like the attribute null functions, we provide multiple weak versions
271 of this if possible */
272
273 #if defined(USE_WEAK_SYMBOLS)
274
275 /* Add the prototype so the routine knows what this is */
276 extern FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null_ ( void *v1, MPI_Datatype v2, int v3, void *v4, MPI_Offset v5, void *v6 );
277
278 extern FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null__ ( void *v1, MPI_Datatype v2, int v3, void *v4, MPI_Offset v5, void *v6 );
279 extern FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null ( void *v1, MPI_Datatype v2, int v3, void *v4, MPI_Offset v5, void *v6 );
280 extern FORT_DLL_SPEC int FORT_CALL MPI_CONVERSION_FN_NULL ( void *v1, MPI_Datatype v2, int v3, void *v4, MPI_Offset v5, void *v6 );
281
282 #if defined(HAVE_MULTIPLE_PRAGMA_WEAK) && !defined(MPICH_MPI_FROM_PMPI) /* If support multiple #pragma weak */
283 #pragma weak mpi_conversion_fn_null__ = mpi_conversion_fn_null_
284 #pragma weak mpi_conversion_fn_null = mpi_conversion_fn_null_
285 #pragma weak MPI_CONVERSION_FN_NULL = mpi_conversion_fn_null_
286
287 #elif defined(HAVE_PRAGMA_WEAK) && !defined(MPICH_MPI_FROM_PMPI) /* If support single #pragma weak */
288 #if defined(F77_NAME_UPPER)
289 #pragma weak MPI_CONVERSION_FN_NULL = mpi_conversion_fn_null_
290 #elif defined(F77_NAME_LOWER_2USCORE)
291 #pragma weak mpi_conversion_fn_null__ = mpi_conversion_fn_null_
292 #elif !defined(F77_NAME_LOWER_USCORE)
293 #pragma weak mpi_conversion_fn_null = mpi_conversion_fn_null_
294 #endif
295
296 #elif defined(HAVE_PRAGMA_HP_SEC_DEF) && !defined(MPICH_MPI_FROM_PMPI) /* If support _HP_SECONDARY_DEF */
297 #if defined(F77_NAME_UPPER)
298 #pragma _HP_SECONDARY_DEF MPI_CONVERSION_FN_NULL = mpi_conversion_fn_null_
299 #elif defined(F77_NAME_LOWER_2USCORE)
300 #pragma _HP_SECONDARY_DEF mpi_conversion_fn_null__ = mpi_conversion_fn_null_
301 #elif !defined(F77_NAME_LOWER_USCORE)
302 #pragma _HP_SECONDARY_DEF mpi_conversion_fn_null = mpi_conversion_fn_null_
303 #endif
304
305 #elif defined(HAVE_PRAGMA_CRI_DUP) && !defined(MPICH_MPI_FROM_PMPI) /* If support _CRI duplicate */
306 #if defined(F77_NAME_UPPER)
307 #pragma _CRI duplicate MPI_CONVERSION_FN_NULL as mpi_conversion_fn_null_
308 #elif defined(F77_NAME_LOWER_2USCORE)
309 #pragma _CRI duplicate mpi_conversion_fn_null__ as mpi_conversion_fn_null_
310 #elif !defined(F77_NAME_LOWER_USCORE)
311 #pragma _CRI duplicate mpi_conversion_fn_null as mpi_conversion_fn_null_
312 #endif
313
314 #elif defined(HAVE_WEAK_ATTRIBUTE) /* If support weak attribute */
315 extern FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null__ ( void *v1, MPI_Datatype v2, int v3, void *v4, MPI_Offset v5, void *v6 )
316 #ifndef MPICH_MPI_FROM_PMPI
317 __attribute__((weak,alias("mpi_conversion_fn_null_")))
318 #endif
319 ;
320 extern FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null ( void *v1, MPI_Datatype v2, int v3, void *v4, MPI_Offset v5, void *v6 )
321 #ifndef MPICH_MPI_FROM_PMPI
322 __attribute__((weak,alias("mpi_conversion_fn_null_")))
323 #endif
324 ;
325 extern FORT_DLL_SPEC int FORT_CALL MPI_CONVERSION_FN_NULL ( void *v1, MPI_Datatype v2, int v3, void *v4, MPI_Offset v5, void *v6 )
326 #ifndef MPICH_MPI_FROM_PMPI
327 __attribute__((weak,alias("mpi_conversion_fn_null_")))
328 #endif
329 ;
330 #endif
331
332 #else /* No weak symbol support, so simply rename the one version to match the
333 Fortran naming convention */
334 #ifdef F77_NAME_UPPER
335 #define mpi_conversion_fn_null_ MPI_CONVERSION_FN_NULL
336 #elif defined(F77_NAME_LOWER_2USCORE)
337 #define mpi_conversion_fn_null_ mpi_conversion_fn_null__
338 #elif !defined(F77_NAME_LOWER_USCORE)
339 #define mpi_conversion_fn_null_ mpi_conversion_fn_null
340 /* Else leave name alone */
341 #endif /* End of test on name mapping without weak symbol support */
342
343 /* Add the prototype so the routine knows what this is */
344 extern FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null_ ( void *v1, MPI_Datatype v2, int v3, void *v4, MPI_Offset v5, void *v6 );
345
346 #endif
347
348 /* This isn't a callable function */
mpi_conversion_fn_null_(void * v1,MPI_Datatype v2,int v3,void * v4,MPI_Offset v5,void * v6)349 FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null_ ( void *v1, MPI_Datatype v2, int v3, void *v4, MPI_Offset v5, void *v6 ) {
350 return 0;
351 }
352
mpi_register_datarep_(char * v1 FORT_MIXED_LEN (d1),MPI_Datarep_conversion_function * v2,MPI_Datarep_conversion_function * v3,MPI_Datarep_extent_function * v4,void * v5,MPI_Fint * ierr FORT_END_LEN (d1))353 FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_ ( char *v1 FORT_MIXED_LEN(d1), MPI_Datarep_conversion_function*v2, MPI_Datarep_conversion_function*v3, MPI_Datarep_extent_function*v4, void*v5, MPI_Fint *ierr FORT_END_LEN(d1) ){
354 #ifdef MPI_MODE_RDONLY
355 char *p1;
356
357 {char *p = v1 + d1 - 1;
358 int li;
359 while (*p == ' ' && p > v1) p--;
360 p++;
361 p1 = (char *)malloc(p-v1 + 1);
362 for (li=0; li<(p-v1); li++) { p1[li] = v1[li]; }
363 p1[li] = 0;
364 }
365
366 if (v2 == (MPI_Datarep_conversion_function *)mpi_conversion_fn_null_){
367 v2 = 0;
368 }
369
370 if (v3 == (MPI_Datarep_conversion_function *)mpi_conversion_fn_null_){
371 v3 = 0;
372 }
373 if (v5 == MPIR_F_MPI_BOTTOM) v5 = MPI_BOTTOM;
374 *ierr = MPI_Register_datarep( p1, v2, v3, v4, v5 );
375 free( p1 );
376 #else
377 *ierr = MPI_ERR_INTERN;
378 #endif
379 }
380