diff --git a/config/ompi_fortran_check_ticket_4157.m4 b/config/ompi_fortran_check_ticket_4157.m4 deleted file mode 100644 index d937ae9b2e..0000000000 --- a/config/ompi_fortran_check_ticket_4157.m4 +++ /dev/null @@ -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]) -]) diff --git a/config/ompi_setup_mpi_fortran.m4 b/config/ompi_setup_mpi_fortran.m4 index 748a6d57ce..3b476aad22 100644 --- a/config/ompi_setup_mpi_fortran.m4 +++ b/config/ompi_setup_mpi_fortran.m4 @@ -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],