1
1

fortran: Remove the gfortran-4.9-disabling configry

The bug in #4157 has now been fixed, so remove the configure test that
disabled mpi_f08 functionality for gfortran 4.9.

Fixes trac:4157

cmr=v1.8.1:ticket=trac:4512

This commit was SVN r31373.

The following Trac tickets were found above:
  Ticket 4157 --> https://svn.open-mpi.org/trac/ompi/ticket/4157
  Ticket 4512 --> https://svn.open-mpi.org/trac/ompi/ticket/4512
Этот коммит содержится в:
Jeff Squyres 2014-04-11 21:04:04 +00:00
родитель 5551e78275
Коммит d2d28710ba
2 изменённых файлов: 0 добавлений и 119 удалений

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

@ -1,103 +0,0 @@
dnl -*- shell-script -*-
dnl
dnl Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
dnl
dnl $HEADER$
dnl
# Special check for ticket 4157. This test will eventually disappear.
# See https://svn.open-mpi.org/trac/ompi/ticket/4157.
#
# OMPI_FORTRAN_CHECK_TICKET_4157([action if happy], [action if not happy])
# ----------------------------------------------------
AC_DEFUN([OMPI_FORTRAN_CHECK_TICKET_4157],[
AS_VAR_PUSHDEF([ticket_4157_var], [ompi_cv_fortran_ticket_4157])
AC_CACHE_CHECK([for ticket 4157 issues], ticket_4157_var,
[AC_LANG_PUSH([Fortran])
rm -rf conftest.$$.d
mkdir conftest.$$.d
cd conftest.$$.d
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
MODULE MY_ABSTRACT_MODULE
ABSTRACT INTERFACE
SUBROUTINE ABSTRACT_INTERFACE(A, B)
IMPLICIT NONE
INTEGER :: A
LOGICAL :: B
END SUBROUTINE ABSTRACT_INTERFACE
END INTERFACE
END MODULE MY_ABSTRACT_MODULE
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MODULE MY_CONCRETE_MODULE
INTERFACE
SUBROUTINE MY_CONCRETE_SUB(A, B)
IMPLICIT NONE
INTEGER :: A
LOGICAL :: B
END SUBROUTINE MY_CONCRETE_SUB
END INTERFACE
END MODULE MY_CONCRETE_MODULE
SUBROUTINE MY_CONCRETE_SUB(A, B)
IMPLICIT NONE
INTEGER :: A
LOGICAL :: B
PRINT *, "I'm in MY_CONCRETE_SUB", A, B
END SUBROUTINE MY_CONCRETE_SUB
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MODULE MY_MODULE
INTERFACE
SUBROUTINE MY_SUB(A, B) BIND(C, NAME="FOO")
USE MY_ABSTRACT_MODULE
IMPLICIT NONE
INTEGER, INTENT(IN) :: A
PROCEDURE(ABSTRACT_INTERFACE) :: B
END SUBROUTINE MY_SUB
END INTERFACE
END MODULE MY_MODULE
SUBROUTINE MY_SUB(A, B) BIND(C, NAME="FOO")
USE MY_ABSTRACT_MODULE
IMPLICIT NONE
INTEGER, INTENT(IN) :: A
PROCEDURE(ABSTRACT_INTERFACE) :: B
LOGICAL :: C
C = .TRUE.
PRINT *, "I'm in MY_SUB", A, C
CALL B(A, C)
END SUBROUTINE MY_SUB
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
PROGRAM TEST_ABSTRACT_PROCEDURE
USE MY_ABSTRACT_MODULE
USE MY_CONCRETE_MODULE
USE MY_MODULE
IMPLICIT NONE
INTEGER :: FOO
FOO = 3
CALL MY_SUB(FOO, MY_CONCRETE_SUB)
END PROGRAM TEST_ABSTRACT_PROCEDURE
]])],
[AS_VAR_SET(ticket_4157_var, happy)],
[AS_VAR_SET(ticket_4157_var, unhappy)])
AC_LANG_POP([Fortran])
cd ..
rm -rf contest.$$.d
])
AS_VAR_IF(ticket_4157_var, [happy], [$1], [$2])
AS_VAR_POPDEF([ticket_4157_var])
])

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

@ -409,22 +409,6 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
[OMPI_FORTRAN_HAVE_PROCEDURE=1],
[OMPI_FORTRAN_HAVE_PROCEDURE=0])])
# Per https://svn.open-mpi.org/trac/ompi/ticket/4157, temporarily
# disqualify the fortran compiler if it exhibits the behavior
# described in that ticket. Short version: OMPI does something
# non-Fortran that we don't have time to fix 1.7.4. So we just
# disqualify Fortran compilers who actually enforce this issue,
# and we'll fix OMPI to be Fortran-compliant after 1.7.4
AS_IF([test $OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS -eq 1 && \
test $OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS -eq 1 && \
test $OMPI_FORTRAN_HAVE_PROCEDURE -eq 1 && \
test $OMPI_FORTRAN_HAVE_ABSTRACT -eq 1],
[ # Check for ticket 4157
OMPI_FORTRAN_CHECK_TICKET_4157(
[],
[ # If we don't have this, don't build the mpi_f08 module
OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS=0])])
OMPI_FORTRAN_F08_HANDLE_SIZE=4
AS_IF([test $OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS -eq 1 -a \
$OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS -eq 1],