cf56a369c2
After discussions with Craig, it looks like the check in this configure test was too aggressive and based on a prior mpi_f08 implementation model. We don't use "value" any more, and we also don't pass optional parameters back to C code, so this test was checking far more than it needed to... in a non-standard way (which breaks in the Intel 2015 Fortran compiler). All we ''really'' need is to check whether the compiler supports the "optional" keyword. So make the test ''much'' simpler and just check whether ''optional'' compiles successfull or not. Reviewed by Craig Rasmussen cmr=v1.8.3:reviewer=ompi-rm1.8 This commit was SVN r32752.
55 строки
1.9 KiB
Bash
55 строки
1.9 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 "optional"
|
|
# keyword or not.
|
|
|
|
# OMPI_FORTRAN_CHECK_OPTIONAL_ARGS([action if found],
|
|
# [action if not found])
|
|
# ----------------------------------------------------
|
|
AC_DEFUN([OMPI_FORTRAN_CHECK_OPTIONAL_ARGS],[
|
|
AS_VAR_PUSHDEF([optional_var], [ompi_cv_fortran_optional])
|
|
|
|
AC_CACHE_CHECK([if Fortran compiler supports optional arguments], optional_var,
|
|
[AC_LANG_PUSH([Fortran])
|
|
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[program check_for_optional
|
|
use, intrinsic :: iso_c_binding
|
|
|
|
interface
|
|
subroutine check_op(i, ierror)
|
|
integer, intent(in), value :: i
|
|
integer, intent(out), optional :: ierror
|
|
end subroutine check_op
|
|
end interface
|
|
|
|
integer :: ierror
|
|
|
|
call check_op(0)
|
|
call check_op(1, ierror)
|
|
end program]])],
|
|
[AS_VAR_SET(optional_var, yes)],
|
|
[AS_VAR_SET(optional_var, no)])
|
|
AC_LANG_POP([Fortran])
|
|
])
|
|
|
|
AS_VAR_IF(optional_var, [yes], [$1], [$2])
|
|
AS_VAR_POPDEF([optional_var])dnl
|
|
])
|