@@ -18,6 +18,7 @@ dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
1818dnl Copyright (c) 2014-2017 Research Organization for Information Science
1919dnl and Technology (RIST). All rights reserved.
2020dnl Copyright (c) 2016 IBM Corporation. All rights reserved.
21+ dnl Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
2122dnl $COPYRIGHT $
2223dnl
2324dnl Additional copyrights may follow
@@ -168,25 +169,33 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
168169 [int, int64_t, long long, long], [16], [yes])
169170
170171 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])
172174 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])
174177 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])
176180 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])
178183 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])
180186
181187 # In some compilers, the bit representation of REAL*16 is not the same
182188 # as the C counterpart that we found. If this is the case, then we
183189 # want to disable reduction support for MPI_REAL16 (per ticket #1603).
184190 OMPI_FORTRAN_CHECK_REAL16_C_EQUIV
185191
186192 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])
188195
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])
190199
191200 # The complex*N tests are a bit different (note: the complex tests are
192201 # the same as all the rest, because complex is a composite of two
@@ -199,21 +208,23 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
199208 # have a back-end C type for it)
200209 # b) compiler supports complex*N
201210
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])
203214 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 ],
205216 [8], [no])
206217 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 ],
208219 [16], [no])
209220 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 ],
211222 [32], [no])
212223 # Double precision complex types are not standard, but many
213224 # compilers support it. Code should be wrapped with #ifdef
214225 # OMPI_HAVE_FORTRAN_DOUBLE_COMPLEX
215226 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 ],
217228 [-1], [no])
218229
219230 # Regardless of whether we have fortran bindings, or even a
0 commit comments