1
1

fortran: fix compile issue with ABSoft compilers

Simplify and fix the r32246

cmr=v1.8.2:ticket=trac:4792

This commit was SVN r32254.

The following SVN revision numbers were found above:
  r32246 --> open-mpi/ompi@08d2a1a48d

The following Trac tickets were found above:
  Ticket 4792 --> https://svn.open-mpi.org/trac/ompi/ticket/4792
Этот коммит содержится в:
Gilles Gouaillardet 2014-07-17 06:00:32 +00:00
родитель 948432da2a
Коммит 232d4dbb7b
2 изменённых файлов: 7 добавлений и 33 удалений

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

@ -49,18 +49,6 @@ module mpi_f08
end module mpi_f08
#if ! OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS
subroutine ompi_win_shared_query_f_with_ierror(win, rank, size, disp_unit, baseptr,&
ierror) BIND(C, name="ompi_win_shared_query_f")
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(IN) :: rank
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: size
INTEGER, INTENT(OUT) :: disp_unit
TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_win_shared_query_f_with_ierror
subroutine ompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
ierror)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
@ -72,26 +60,13 @@ subroutine ompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
INTEGER, INTENT(OUT) :: disp_unit
TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
INTEGER :: ilerror
if (PRESENT(ierror)) then
call ompi_win_shared_query_f_with_ierror(win, rank, size, disp_unit, baseptr, ierror)
if (present(ierror) then
call MPI_Win_shared_query_f08(win, rank, size, disp_unit, baseptr, ierror)
else
call ompi_win_shared_query_f_with_ierror(win, rank, size, disp_unit, baseptr, ilerror)
call MPI_Win_shared_query_f08(win, rank, size, disp_unit, baseptr)
endif
end subroutine ompi_win_shared_query_f
subroutine pompi_win_shared_query_f_with_ierror(win, rank, size, disp_unit, baseptr,&
ierror) BIND(C, name="pompi_win_shared_query_f")
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(IN) :: rank
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: size
INTEGER, INTENT(OUT) :: disp_unit
TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_shared_query_f_with_ierror
subroutine pompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
ierror)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
@ -103,11 +78,10 @@ subroutine pompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
INTEGER, INTENT(OUT) :: disp_unit
TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
INTEGER :: ilerror
if (PRESENT(ierror)) then
call pompi_win_shared_query_f_with_ierror(win, rank, size, disp_unit, baseptr, ierror)
if (present(ierror) then
call PMPI_Win_shared_query_f08(win, rank, size, disp_unit, baseptr, ierror)
else
call pompi_win_shared_query_f_with_ierror(win, rank, size, disp_unit, baseptr, ilerror)
call PMPI_Win_shared_query_f08(win, rank, size, disp_unit, baseptr)
endif
end subroutine pompi_win_shared_query_f
#endif

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

@ -2267,7 +2267,7 @@ end subroutine pompi_win_post_f
#if OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS
subroutine pompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
ierror) BIND(C, name="ompi_win_shared_query_f")
ierror) BIND(C, name="pompi_win_shared_query_f")
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
INTEGER, INTENT(IN) :: win