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