@@ -18,6 +18,7 @@ dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
18
18
dnl Copyright (c) 2014-2017 Research Organization for Information Science
19
19
dnl and Technology (RIST). All rights reserved.
20
20
dnl Copyright (c) 2016 IBM Corporation. All rights reserved.
21
+ dnl Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
21
22
dnl $COPYRIGHT $
22
23
dnl
23
24
dnl Additional copyrights may follow
@@ -168,25 +169,33 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
168
169
[int, int64_t, long long, long], [16], [yes])
169
170
170
171
OMPI_FORTRAN_CHECK([REAL], [yes],
171
- [float, double, long double], [-1], [yes])
172
+ [short float, float, double, long double, opal_short_float_t],
173
+ [-1], [yes])
172
174
OMPI_FORTRAN_CHECK([REAL* 2], [no],
173
- [float, double, long double], [2], [yes])
175
+ [short float, float, double, long double, opal_short_float_t],
176
+ [2], [yes])
174
177
OMPI_FORTRAN_CHECK([REAL* 4], [no],
175
- [float, double, long double], [4], [yes])
178
+ [short float, float, double, long double, opal_short_float_t],
179
+ [4], [yes])
176
180
OMPI_FORTRAN_CHECK([REAL* 8], [no],
177
- [float, double, long double], [8], [yes])
181
+ [short float, float, double, long double, opal_short_float_t],
182
+ [8], [yes])
178
183
OMPI_FORTRAN_CHECK([REAL* 16], [no],
179
- [float, double, long double], [16], [yes])
184
+ [short float, float, double, long double, opal_short_float_t],
185
+ [16], [yes])
180
186
181
187
# In some compilers, the bit representation of REAL*16 is not the same
182
188
# as the C counterpart that we found. If this is the case, then we
183
189
# want to disable reduction support for MPI_REAL16 (per ticket #1603).
184
190
OMPI_FORTRAN_CHECK_REAL16_C_EQUIV
185
191
186
192
OMPI_FORTRAN_CHECK([DOUBLE PRECISION], [yes],
187
- [float, double, long double], [-1], [yes])
193
+ [short float, float, double, long double, opal_short_float_t],
194
+ [-1], [yes])
188
195
189
- OMPI_FORTRAN_CHECK([COMPLEX], [yes], [float _Complex, double _Complex], [-1], [no])
196
+ OMPI_FORTRAN_CHECK([COMPLEX], [yes],
197
+ [short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t],
198
+ [-1], [no])
190
199
191
200
# The complex*N tests are a bit different (note: the complex tests are
192
201
# the same as all the rest, because complex is a composite of two
@@ -199,21 +208,23 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
199
208
# have a back-end C type for it)
200
209
# b) compiler supports complex*N
201
210
202
- OMPI_FORTRAN_CHECK([COMPLEX* 4], [no], [float _Complex], [4], [no])
211
+ OMPI_FORTRAN_CHECK([COMPLEX* 4], [no],
212
+ [short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t],
213
+ [4], [no])
203
214
OMPI_FORTRAN_CHECK([COMPLEX* 8], [no],
204
- [float _Complex, double _Complex, long double _Complex],
215
+ [short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t ],
205
216
[8], [no])
206
217
OMPI_FORTRAN_CHECK([COMPLEX* 16], [no],
207
- [float _Complex, double _Complex, long double _Complex],
218
+ [short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t ],
208
219
[16], [no])
209
220
OMPI_FORTRAN_CHECK([COMPLEX* 32], [no],
210
- [float _Complex, double _Complex, long double _Complex],
221
+ [short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t ],
211
222
[32], [no])
212
223
# Double precision complex types are not standard, but many
213
224
# compilers support it. Code should be wrapped with #ifdef
214
225
# OMPI_HAVE_FORTRAN_DOUBLE_COMPLEX
215
226
OMPI_FORTRAN_CHECK([DOUBLE COMPLEX], [no],
216
- [float _Complex, double _Complex, long double _Complex],
227
+ [short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t ],
217
228
[-1], [no])
218
229
219
230
# Regardless of whether we have fortran bindings, or even a
0 commit comments