5f17bc3c2c
Add a configure test to see if the Fortran compiler supports the PROTECTED keyword. If it does, use in mpi-f08-types.F90 (via a macro defined in configure-fortran-output-bottom.h). This is needed to support the PGI 9 Fortran compiler, which does not support the PROTECTED keyword. Note that regardless of whether we want to support the PGI 9 Fortran compiler + mpi_f08, we need to correctly detect whether PROTECTED works or not, and then use that determination as a criteria for building the mpi_f08 module. Previously, mpi-f08-types.F90 used PROTECTED unconditionally, and we didn't test for it in configure. So if a compiler (e.g., PGI 9) supported everything else but didn't support PROTECTED, it would try to compile the mpi_f08 stuff and choke on the use of PROTECTED. Refs trac:4093 This commit was SVN r30273. The following Trac tickets were found above: Ticket 4093 --> https://svn.open-mpi.org/trac/ompi/ticket/4093
45 строки
1.7 KiB
Bash
45 строки
1.7 KiB
Bash
dnl -*- shell-script -*-
|
|
dnl
|
|
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
|
dnl University Research and Technology
|
|
dnl Corporation. All rights reserved.
|
|
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
|
|
dnl of Tennessee Research Foundation. All rights
|
|
dnl reserved.
|
|
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
dnl University of Stuttgart. All rights reserved.
|
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
|
dnl All rights reserved.
|
|
dnl Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
|
|
dnl $COPYRIGHT$
|
|
dnl
|
|
dnl Additional copyrights may follow
|
|
dnl
|
|
dnl $HEADER$
|
|
dnl
|
|
|
|
# Check whether or not the Fortran compiler supports the "protected"
|
|
# keyword in derived types or not.
|
|
|
|
# OMPI_FORTRAN_CHECK_PROTECTED([action if found],
|
|
# [action if not found])
|
|
# ----------------------------------------------------
|
|
AC_DEFUN([OMPI_FORTRAN_CHECK_PROTECTED],[
|
|
AS_VAR_PUSHDEF([protected_var], [ompi_cv_fortran_protected])
|
|
|
|
AC_CACHE_CHECK([if Fortran compiler supports PROTECTED], protected_var,
|
|
[AC_LANG_PUSH([Fortran])
|
|
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[module test_for_protected
|
|
integer, protected :: bogus
|
|
end module test_for_protected]])],
|
|
[AS_VAR_SET(protected_var, yes)],
|
|
[AS_VAR_SET(protected_var, no)])
|
|
touch conftest_foo.mod
|
|
rm -rf *.mod 2>/dev/null
|
|
AC_LANG_POP([Fortran])
|
|
])
|
|
|
|
AS_VAR_IF(protected_var, [yes], [$1], [$2])
|
|
AS_VAR_POPDEF([protected_var])dnl
|
|
])
|