1
1

Some Fortran compilers actually will return that a type exists even if

it doesn't support it -- the compiler will automatically convert the
unsupported type to a type that it *does* support.  For example, if
you try to use INTEGER*16 and the compiler doesn't support it, it may
well automatically convert it to INTEGER*8 for you (!).  So we have to
check the actual size of the type once we determine that the compiler
doesn't error if we try to use it (i.e,. the compiler *might* support
that type).  If the size doesn't match the expected size, then the
compiler doesn't really support it.

The F77 configure code actually handled this properly.  The F90 code
did not quite do it right.  This patch brings the F90 code up to the
same structure as the F77 code, albiet not m4-ized properly.  I also
added a comment to config/f77_check.m4 that explains *why* we do this
extra size check (because no explanation was given).

The impetus for this was that xlf* on OS X 10.3 was not recognizing
that INTEGER*16 was not supported, and mpi-f90-interfaces.h was being
assembled incorrectly.  This patch fixes this problem.

There is still one more problem, but waiting for some help from Craig
R on that (function pointers in F90 declarations).

This commit was SVN r8107.
Этот коммит содержится в:
Jeff Squyres 2005-11-10 23:35:36 +00:00
родитель 654ba6d262
Коммит bcd037315f
2 изменённых файлов: 164 добавлений и 163 удалений

Просмотреть файл

@ -62,7 +62,18 @@ fi
if test "$ofc_have_type" = "1"; then
# What is the size of this type?
# What is the size of this type?
# NOTE: Some Fortran compilers actually will return that a type
# exists even if it doesn't support it -- the compiler will
# automatically convert the unsupported type to a type that it
# *does* support. For example, if you try to use INTEGER*16 and
# the compiler doesn't support it, it may well automatically
# convert it to INTEGER*8 for you (!). So we have to check the
# actual size of the type once we determine that the compiler
# doesn't error if we try to use it (i.e,. the compiler *might*
# support that type). If the size doesn't match the expected
# size, then the compiler doesn't really support it.
OMPI_F77_GET_SIZEOF([$1], [ofc_type_size])
if test "$ofc_expected_size" != "-1" -a "$ofc_type_size" != "$ofc_expected_size"; then

Просмотреть файл

@ -640,143 +640,203 @@ else
# If we want modern Fortran support, then get supported types and sizes
# NOTE: Some Fortran compilers actually will return that a type
# exists even if it doesn't support it -- the compiler will
# automatically convert the unsupported type to a type that it
# *does* support. For example, if you try to use INTEGER*16 and
# the compiler doesn't support it, it may well automatically
# convert it to INTEGER*8 for you (!). So we have to check the
# actual size of the type once we determine that the compiler
# doesn't error if we try to use it (i.e,. the compiler *might*
# support that type). If the size doesn't match the expected
# size, then the compiler doesn't really support it.
OMPI_F90_CHECK_TYPE(integer(selected_int_kind(2)), OMPI_HAVE_F90_INTEGER1)
if test "$OMPI_HAVE_F90_INTEGER1" = "1"; then
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}1 "
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}1 "
OMPI_F90_GET_SIZEOF(integer(selected_int_kind(2)),
OMPI_SIZEOF_F90_INT1)
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(2)),
OMPI_ALIGNMENT_F90_INT1)
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(2)),
OMPI_SIZEOF_F90_LOGICAL)
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(2)),
OMPI_ALIGNMENT_F90_LOGICAL1)
if test "$OMPI_SIZEOF_F90_INT1" != 1; then
AC_MSG_WARN([*** Fortran 90 selected_int_kind(2) does not have expected size!])
AC_MSG_WARN([*** Expected 1, got $OMPI_SIZEOF_F90_INT1])
AC_MSG_WARN([*** Disabling MPI support for Fortran selected_int_kind(2)])
else
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}1 "
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}1 "
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(2)),
OMPI_ALIGNMENT_F90_INT1)
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(2)),
OMPI_SIZEOF_F90_LOGICAL)
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(2)),
OMPI_ALIGNMENT_F90_LOGICAL1)
fi
fi
OMPI_F90_CHECK_TYPE(integer(selected_int_kind(4)), OMPI_HAVE_F90_INTEGER2)
if test "$OMPI_HAVE_F90_INTEGER2" = "1"; then
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}2 "
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}2 "
OMPI_F90_GET_SIZEOF(integer(selected_int_kind(4)),
OMPI_SIZEOF_F90_INT2)
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(4)),
OMPI_ALIGNMENT_F90_INT2)
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(4)),
OMPI_SIZEOF_F90_LOGICAL2)
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(4)),
OMPI_ALIGNMENT_F90_LOGICAL2)
if test "$OMPI_SIZEOF_F90_INT2" != 2; then
AC_MSG_WARN([*** Fortran 90 selected_int_kind(4) does not have expected size!])
AC_MSG_WARN([*** Expected 2, got $OMPI_SIZEOF_F90_INT2])
AC_MSG_WARN([*** Disabling MPI support for Fortran selected_int_kind(4)])
else
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}2 "
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}2 "
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(4)),
OMPI_ALIGNMENT_F90_INT2)
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(4)),
OMPI_SIZEOF_F90_LOGICAL2)
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(4)),
OMPI_ALIGNMENT_F90_LOGICAL2)
fi
fi
OMPI_F90_CHECK_TYPE(integer(selected_int_kind(9)), OMPI_HAVE_F90_INTEGER4)
if test "$OMPI_HAVE_F90_INTEGER4" = "1"; then
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}4 "
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}4 "
OMPI_F90_GET_SIZEOF(integer(selected_int_kind(9)),
OMPI_SIZEOF_F90_INT4)
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(9)),
OMPI_ALIGNMENT_F90_INT4)
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(9)),
OMPI_SIZEOF_F90_LOGICAL4)
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(9)),
OMPI_ALIGNMENT_F90_LOGICAL4)
if test "$OMPI_SIZEOF_F90_INT4" != 4; then
AC_MSG_WARN([*** Fortran 90 selected_int_kind(9) does not have expected size!])
AC_MSG_WARN([*** Expected 4, got $OMPI_SIZEOF_F90_INT4])
AC_MSG_WARN([*** Disabling MPI support for Fortran selected_int_kind(9)])
else
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}4 "
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}4 "
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(9)),
OMPI_ALIGNMENT_F90_INT4)
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(9)),
OMPI_SIZEOF_F90_LOGICAL4)
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(9)),
OMPI_ALIGNMENT_F90_LOGICAL4)
fi
fi
OMPI_F90_CHECK_TYPE(integer(selected_int_kind(18)), OMPI_HAVE_F90_INTEGER8)
if test "$OMPI_HAVE_F90_INTEGER8" = "1"; then
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}8 "
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}8 "
OMPI_F90_GET_SIZEOF(integer(selected_int_kind(18)),
OMPI_SIZEOF_F90_INT8)
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(18)),
OMPI_ALIGNMENT_F90_INT8)
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(18)),
OMPI_SIZEOF_F90_LOGICAL8)
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(18)),
OMPI_ALIGNMENT_F90_LOGICAL8)
if test "$OMPI_SIZEOF_F90_INT8" != 8; then
AC_MSG_WARN([*** Fortran 90 selected_int_kind(18) does not have expected size!])
AC_MSG_WARN([*** Expected 8, got $OMPI_SIZEOF_F90_INT8])
AC_MSG_WARN([*** Disabling MPI support for Fortran selected_int_kind(18)])
else
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}8 "
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}8 "
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(18)),
OMPI_ALIGNMENT_F90_INT8)
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(18)),
OMPI_SIZEOF_F90_LOGICAL8)
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(18)),
OMPI_ALIGNMENT_F90_LOGICAL8)
fi
fi
OMPI_F90_CHECK_TYPE(integer(selected_int_kind(19)),
OMPI_HAVE_F90_INTEGER16)
if test "$OMPI_HAVE_F90_INTEGER16" = "1"; then
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}16 "
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}16 "
OMPI_F90_GET_SIZEOF(integer(selected_int_kind(19)),
OMPI_SIZEOF_F90_INT16)
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(19)),
OMPI_ALIGNMENT_F90_INT16)
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(19)),
OMPI_SIZEOF_F90_LOGICAL16)
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(19)),
OMPI_ALIGNMENT_F90_LOGICAL16)
if test "$OMPI_SIZEOF_F90_INT16" != 16; then
AC_MSG_WARN([*** Fortran 90 selected_int_kind(19) does not have expected size!])
AC_MSG_WARN([*** Expected 16, got $OMPI_SIZEOF_F90_INT16])
AC_MSG_WARN([*** Disabling MPI support for Fortran selected_int_kind(19)])
else
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}16 "
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}16 "
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(19)),
OMPI_ALIGNMENT_F90_INT16)
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(19)),
OMPI_SIZEOF_F90_LOGICAL16)
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(19)),
OMPI_ALIGNMENT_F90_LOGICAL16)
fi
fi
OMPI_F90_CHECK_TYPE(real(selected_real_kind(6)), OMPI_HAVE_F90_REAL4)
if test "$OMPI_HAVE_F90_REAL4" = "1"; then
OMPI_HAVE_F90_COMPLEX8=1
OMPI_FORTRAN_RKINDS="${OMPI_FORTRAN_RKINDS}4 "
OMPI_FORTRAN_CKINDS="${OMPI_FORTRAN_CKINDS}4 "
OMPI_F90_GET_SIZEOF(real(selected_real_kind(6)), OMPI_SIZEOF_F90_REAL4)
OMPI_F90_GET_SIZEOF(complex(selected_real_kind(6)),
OMPI_SIZEOF_F90_COMPLEX8)
OMPI_F90_GET_ALIGNMENT(real(selected_real_kind(6)),
OMPI_ALIGNMENT_F90_REAL4)
OMPI_F90_GET_ALIGNMENT(complex(selected_real_kind(6)),
OMPI_ALIGNMENT_F90_COMPLEX8)
OMPI_F90_GET_PRECISION(real(selected_real_kind(6)),
OMPI_PRECISION_F90_REAL4)
OMPI_F90_GET_PRECISION(complex(selected_real_kind(6)),
OMPI_PRECISION_F90_COMPLEX8)
OMPI_F90_GET_RANGE(real(selected_real_kind(6)),
OMPI_RANGE_F90_REAL4)
OMPI_F90_GET_RANGE(complex(selected_real_kind(6)),
OMPI_RANGE_F90_COMPLEX8)
if test "$OMPI_SIZEOF_F90_REAL4" != 4; then
AC_MSG_WARN([*** Fortran 90 selected_real_kind(6) does not have expected size!])
AC_MSG_WARN([*** Expected 4, got $OMPI_SIZEOF_F90_REAL4])
AC_MSG_WARN([*** Disabling MPI support for Fortran selected_real_kind(6)])
else
OMPI_HAVE_F90_COMPLEX8=1
OMPI_FORTRAN_RKINDS="${OMPI_FORTRAN_RKINDS}4 "
OMPI_FORTRAN_CKINDS="${OMPI_FORTRAN_CKINDS}4 "
OMPI_F90_GET_SIZEOF(complex(selected_real_kind(6)),
OMPI_SIZEOF_F90_COMPLEX8)
OMPI_F90_GET_ALIGNMENT(real(selected_real_kind(6)),
OMPI_ALIGNMENT_F90_REAL4)
OMPI_F90_GET_ALIGNMENT(complex(selected_real_kind(6)),
OMPI_ALIGNMENT_F90_COMPLEX8)
OMPI_F90_GET_PRECISION(real(selected_real_kind(6)),
OMPI_PRECISION_F90_REAL4)
OMPI_F90_GET_PRECISION(complex(selected_real_kind(6)),
OMPI_PRECISION_F90_COMPLEX8)
OMPI_F90_GET_RANGE(real(selected_real_kind(6)),
OMPI_RANGE_F90_REAL4)
OMPI_F90_GET_RANGE(complex(selected_real_kind(6)),
OMPI_RANGE_F90_COMPLEX8)
fi
fi
OMPI_F90_CHECK_TYPE(real(selected_real_kind(15)), OMPI_HAVE_F90_REAL8)
if test "$OMPI_HAVE_F90_REAL8" = "1"; then
OMPI_HAVE_F90_COMPLEX16=1
OMPI_FORTRAN_RKINDS="${OMPI_FORTRAN_RKINDS}8 "
OMPI_FORTRAN_CKINDS="${OMPI_FORTRAN_CKINDS}8 "
OMPI_F90_GET_SIZEOF(real(selected_real_kind(15)),
OMPI_SIZEOF_F90_REAL8)
OMPI_F90_GET_SIZEOF(complex(selected_real_kind(15)),
OMPI_SIZEOF_F90_COMPLEX16)
OMPI_F90_GET_ALIGNMENT(real(selected_real_kind(15)),
OMPI_ALIGNMENT_F90_REAL8)
OMPI_F90_GET_ALIGNMENT(complex(selected_real_kind(15)),
OMPI_ALIGNMENT_F90_COMPLEX16)
OMPI_F90_GET_PRECISION(real(selected_real_kind(15)),
OMPI_PRECISION_F90_REAL8)
OMPI_F90_GET_PRECISION(complex(selected_real_kind(15)),
OMPI_PRECISION_F90_COMPLEX16)
OMPI_F90_GET_RANGE(real(selected_real_kind(15)),
OMPI_RANGE_F90_REAL8)
OMPI_F90_GET_RANGE(complex(selected_real_kind(15)),
OMPI_RANGE_F90_COMPLEX16)
if test "$OMPI_SIZEOF_F90_REAL8" != 8; then
AC_MSG_WARN([*** Fortran 90 selected_real_kind(15) does not have expected size!])
AC_MSG_WARN([*** Expected 8, got $OMPI_SIZEOF_F90_REAL8])
AC_MSG_WARN([*** Disabling MPI support for Fortran selected_real_kind(15)])
else
OMPI_HAVE_F90_COMPLEX16=1
OMPI_FORTRAN_RKINDS="${OMPI_FORTRAN_RKINDS}8 "
OMPI_FORTRAN_CKINDS="${OMPI_FORTRAN_CKINDS}8 "
OMPI_F90_GET_SIZEOF(complex(selected_real_kind(15)),
OMPI_SIZEOF_F90_COMPLEX16)
OMPI_F90_GET_ALIGNMENT(real(selected_real_kind(15)),
OMPI_ALIGNMENT_F90_REAL8)
OMPI_F90_GET_ALIGNMENT(complex(selected_real_kind(15)),
OMPI_ALIGNMENT_F90_COMPLEX16)
OMPI_F90_GET_PRECISION(real(selected_real_kind(15)),
OMPI_PRECISION_F90_REAL8)
OMPI_F90_GET_PRECISION(complex(selected_real_kind(15)),
OMPI_PRECISION_F90_COMPLEX16)
OMPI_F90_GET_RANGE(real(selected_real_kind(15)),
OMPI_RANGE_F90_REAL8)
OMPI_F90_GET_RANGE(complex(selected_real_kind(15)),
OMPI_RANGE_F90_COMPLEX16)
fi
fi
OMPI_F90_CHECK_TYPE(real(selected_real_kind(31)), OMPI_HAVE_F90_REAL16)
if test "$OMPI_HAVE_F90_REAL16" = "1"; then
OMPI_HAVE_F90_COMPLEX32=1
OMPI_FORTRAN_RKINDS="${OMPI_FORTRAN_RKINDS}16 "
OMPI_FORTRAN_CKINDS="${OMPI_FORTRAN_CKINDS}16 "
OMPI_F90_GET_SIZEOF(real(selected_real_kind(31)),
OMPI_SIZEOF_F90_REAL16)
OMPI_F90_GET_SIZEOF(complex(selected_real_kind(31)),
OMPI_SIZEOF_F90_COMPLEX32)
OMPI_F90_GET_ALIGNMENT(real(selected_real_kind(31)),
OMPI_ALIGNMENT_F90_REAL16)
OMPI_F90_GET_ALIGNMENT(complex(selected_real_kind(31)),
OMPI_ALIGNMENT_F90_COMPLEX32)
OMPI_F90_GET_PRECISION(real(selected_real_kind(31)),
OMPI_PRECISION_F90_REAL16)
OMPI_F90_GET_PRECISION(complex(selected_real_kind(31)),
OMPI_PRECISION_F90_COMPLEX32)
OMPI_F90_GET_RANGE(real(selected_real_kind(31)),
OMPI_RANGE_F90_REAL16)
OMPI_F90_GET_RANGE(complex(selected_real_kind(31)),
OMPI_RANGE_F90_COMPLEX32)
if test "$OMPI_SIZEOF_F90_REAL16" != 16; then
AC_MSG_WARN([*** Fortran 90 selected_real_kind(31) does not have expected size!])
AC_MSG_WARN([*** Expected 16, got $OMPI_SIZEOF_F90_REAL16])
AC_MSG_WARN([*** Disabling MPI support for Fortran selected_real_kind(31)])
else
OMPI_HAVE_F90_COMPLEX32=1
OMPI_FORTRAN_RKINDS="${OMPI_FORTRAN_RKINDS}16 "
OMPI_FORTRAN_CKINDS="${OMPI_FORTRAN_CKINDS}16 "
OMPI_F90_GET_SIZEOF(complex(selected_real_kind(31)),
OMPI_SIZEOF_F90_COMPLEX32)
OMPI_F90_GET_ALIGNMENT(real(selected_real_kind(31)),
OMPI_ALIGNMENT_F90_REAL16)
OMPI_F90_GET_ALIGNMENT(complex(selected_real_kind(31)),
OMPI_ALIGNMENT_F90_COMPLEX32)
OMPI_F90_GET_PRECISION(real(selected_real_kind(31)),
OMPI_PRECISION_F90_REAL16)
OMPI_F90_GET_PRECISION(complex(selected_real_kind(31)),
OMPI_PRECISION_F90_COMPLEX32)
OMPI_F90_GET_RANGE(real(selected_real_kind(31)),
OMPI_RANGE_F90_REAL16)
OMPI_F90_GET_RANGE(complex(selected_real_kind(31)),
OMPI_RANGE_F90_COMPLEX32)
fi
fi
OMPI_F90_GET_SIZEOF(logical, OMPI_SIZEOF_F90_LOGICAL)
@ -817,79 +877,9 @@ else
fi
#
# Check sizes against what is expected and fix things up
# Substitute everything in
#
if test "$OMPI_SIZEOF_F90_INT1" != "1" ; then
OMPI_SIZEOF_F90_INT1=0
OMPI_ALIGNMENT_F90_INT1=0
OMPI_HAVE_F90_INTEGER1=0
fi
if test "$OMPI_SIZEOF_F90_INT2" != "2" ; then
OMPI_SIZEOF_F90_INT2=0
OMPI_ALIGNMENT_F90_INT2=0
OMPI_HAVE_F90_INTEGER2=0
fi
if test "$OMPI_SIZEOF_F90_INT4" != "4" ; then
OMPI_SIZEOF_F90_INT4=0
OMPI_ALIGNMENT_F90_INT4=0
OMPI_HAVE_F90_INTEGER4=0
fi
if test "$OMPI_SIZEOF_F90_INT8" != "8" ; then
OMPI_SIZEOF_F90_INT8=0
OMPI_ALIGNMENT_F90_INT8=0
OMPI_HAVE_F90_INTEGER8=0
fi
if test "$OMPI_SIZEOF_F90_INT16" != "16" ; then
OMPI_SIZEOF_F90_INT16=0
OMPI_ALIGNMENT_F90_INT16=0
OMPI_HAVE_F90_INTEGER16=0
fi
if test "$OMPI_SIZEOF_F90_REAL4" != "4" ; then
OMPI_SIZEOF_F90_REAL4=0
OMPI_ALIGNMENT_F90_REAL4=0
OMPI_PRECISION_F90_REAL4=0
OMPI_RANGE_F90_REAL4=0
OMPI_HAVE_F90_REAL4=0
fi
if test "$OMPI_SIZEOF_F90_REAL8" != "8" ; then
OMPI_SIZEOF_F90_REAL8=0
OMPI_ALIGNMENT_F90_REAL8=0
OMPI_PRECISION_F90_REAL8=0
OMPI_RANGE_F90_REAL8=0
OMPI_HAVE_F90_REAL8=0
fi
if test "$OMPI_SIZEOF_F90_REAL16" != "16" ; then
OMPI_SIZEOF_F90_REAL16=0
OMPI_ALIGNMENT_F90_REAL16=0
OMPI_PRECISION_F90_REAL16=0
OMPI_RANGE_F90_REAL16=0
OMPI_HAVE_F90_REAL16=0
fi
if test "$OMPI_SIZEOF_F90_COMPLEX8" != "8" ; then
OMPI_SIZEOF_F90_COMPLEX8=0
OMPI_ALIGNMENT_F90_COMPLEX8=0
OMPI_PRECISION_F90_COMPLEX8=0
OMPI_RANGE_F90_COMPLEX8=0
OMPI_HAVE_F90_COMPLEX8=0
fi
if test "$OMPI_SIZEOF_F90_COMPLEX16" != "16" ; then
OMPI_SIZEOF_F90_COMPLEX16=0
OMPI_ALIGNMENT_F90_COMPLEX16=0
OMPI_PRECISION_F90_COMPLEX16=0
OMPI_RANGE_F90_COMPLEX16=0
OMPI_HAVE_F90_COMPLEX16=0
fi
if test "$OMPI_SIZEOF_F90_COMPLEX32" != "32" ; then
OMPI_SIZEOF_F90_COMPLEX32=0
OMPI_ALIGNMENT_F90_COMPLEX32=0
OMPI_PRECISION_F90_COMPLEX32=0
OMPI_RANGE_F90_COMPLEX32=0
OMPI_HAVE_F90_COMPLEX32=0
fi
AC_SUBST(OMPI_FORTRAN_LKINDS)
AC_SUBST(OMPI_FORTRAN_IKINDS)
AC_SUBST(OMPI_FORTRAN_RKINDS)