1
1

Refs trac:4372: Another addendum to Fortran API fixes for the RMA functions

* Several parameters should not be marked as INTENT(OUT) (they aren't in
  the MPI-3 standard).
* Added missing PMPI F08 OMPI interfaces

This commit was SVN r31049.

The following Trac tickets were found above:
  Ticket 4372 --> https://svn.open-mpi.org/trac/ompi/ticket/4372
Этот коммит содержится в:
Jeff Squyres 2014-03-12 20:22:15 +00:00
родитель 8a5a832085
Коммит ccff41383c
2 изменённых файлов: 155 добавлений и 7 удалений

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

@ -2220,7 +2220,7 @@ subroutine ompi_get_accumulate_f(origin_addr,origin_count,origin_datatype, &
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: origin_addr
INTEGER, INTENT(IN) :: origin_count, result_count, target_rank, target_count
INTEGER, INTENT(IN) :: origin_datatype
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(OUT) :: result_addr
OMPI_FORTRAN_IGNORE_TKR_TYPE :: result_addr
INTEGER, INTENT(IN) :: result_datatype
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: target_disp
INTEGER, INTENT(IN) :: target_datatype
@ -2240,7 +2240,7 @@ subroutine ompi_rget_accumulate_f(origin_addr,origin_count,origin_datatype, &
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: origin_addr
INTEGER, INTENT(IN) :: origin_count, result_count, target_rank, target_count
INTEGER, INTENT(IN) :: origin_datatype
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(OUT) :: result_addr
OMPI_FORTRAN_IGNORE_TKR_TYPE :: result_addr
INTEGER, INTENT(IN) :: result_datatype
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: target_disp
INTEGER, INTENT(IN) :: target_datatype
@ -2294,7 +2294,7 @@ subroutine ompi_compare_and_swap_f(origin_addr,compare_addr,result_addr, &
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: origin_addr, compare_addr
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(OUT) :: result_addr
OMPI_FORTRAN_IGNORE_TKR_TYPE :: result_addr
INTEGER, INTENT(IN) :: datatype
INTEGER, INTENT(IN) :: target_rank
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: target_disp
@ -2308,7 +2308,7 @@ subroutine ompi_fetch_and_op_f(origin_addr,result_addr,datatype,target_rank, &
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: origin_addr
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(OUT) :: result_addr
OMPI_FORTRAN_IGNORE_TKR_TYPE :: result_addr
INTEGER, INTENT(IN) :: datatype
INTEGER, INTENT(IN) :: target_rank
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: target_disp

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

@ -1743,9 +1743,6 @@ subroutine pompi_free_mem_f(base,ierror) &
BIND(C, name="pompi_free_mem_f")
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
implicit none
!$PRAGMA IGNORE_TKR base
!DIR$ IGNORE_TKR base
!IBM* IGNORE_TKR base
INTEGER(MPI_ADDRESS_KIND), DIMENSION(*) OMPI_ASYNCHRONOUS :: base
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_free_mem_f
@ -2017,6 +2014,24 @@ subroutine pompi_accumulate_f(origin_addr,origin_count,origin_datatype, &
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_accumulate_f
subroutine pompi_raccumulate_f(origin_addr,origin_count,origin_datatype, &
target_rank,target_disp, &
target_count,target_datatype,op,win, &
request,ierror) &
BIND(C, name="pompi_raccumulate_f")
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: origin_addr
INTEGER, INTENT(IN) :: origin_count, target_rank, target_count
INTEGER, INTENT(IN) :: origin_datatype
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: target_disp
INTEGER, INTENT(IN) :: target_datatype
INTEGER, INTENT(IN) :: op
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_raccumulate_f
subroutine pompi_get_f(origin_addr,origin_count,origin_datatype,target_rank, &
target_disp,target_count,target_datatype,win,ierror) &
BIND(C, name="pompi_get_f")
@ -2031,6 +2046,63 @@ subroutine pompi_get_f(origin_addr,origin_count,origin_datatype,target_rank, &
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_get_f
subroutine pompi_rget_f(origin_addr,origin_count,origin_datatype,target_rank, &
target_disp,target_count,target_datatype,win,request, &
ierror) &
BIND(C, name="pompi_rget_f")
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: origin_addr
INTEGER, INTENT(IN) :: origin_count, target_rank, target_count
INTEGER, INTENT(IN) :: origin_datatype
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: target_disp
INTEGER, INTENT(IN) :: target_datatype
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_rget_f
subroutine pompi_get_accumulate_f(origin_addr,origin_count,origin_datatype, &
result_addr,result_count,result_datatype, &
target_rank,target_disp, &
target_count,target_datatype,op,win, &
ierror) &
BIND(C, name="pompi_get_accumulate_f")
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: origin_addr
INTEGER, INTENT(IN) :: origin_count, result_count, target_rank, target_count
INTEGER, INTENT(IN) :: origin_datatype
OMPI_FORTRAN_IGNORE_TKR_TYPE :: result_addr
INTEGER, INTENT(IN) :: result_datatype
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: target_disp
INTEGER, INTENT(IN) :: target_datatype
INTEGER, INTENT(IN) :: op
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_get_accumulate_f
subroutine pompi_rget_accumulate_f(origin_addr,origin_count,origin_datatype, &
result_addr,result_count,result_datatype, &
target_rank,target_disp, &
target_count,target_datatype,op,win, &
request,ierror) &
BIND(C, name="pompi_rget_accumulate_f")
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: origin_addr
INTEGER, INTENT(IN) :: origin_count, result_count, target_rank, target_count
INTEGER, INTENT(IN) :: origin_datatype
OMPI_FORTRAN_IGNORE_TKR_TYPE :: result_addr
INTEGER, INTENT(IN) :: result_datatype
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: target_disp
INTEGER, INTENT(IN) :: target_datatype
INTEGER, INTENT(IN) :: op
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_rget_accumulate_f
subroutine pompi_put_f(origin_addr,origin_count,origin_datatype,target_rank, &
target_disp,target_count,target_datatype,win,ierror) &
BIND(C, name="pompi_put_f")
@ -2045,6 +2117,22 @@ subroutine pompi_put_f(origin_addr,origin_count,origin_datatype,target_rank, &
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_put_f
subroutine pompi_rput_f(origin_addr,origin_count,origin_datatype,target_rank, &
target_disp,target_count,target_datatype,win,request, &
ierror) &
BIND(C, name="pompi_rput_f")
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: origin_addr
INTEGER, INTENT(IN) :: origin_count, target_rank, target_count
INTEGER, INTENT(IN) :: origin_datatype
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: target_disp
INTEGER, INTENT(IN) :: target_datatype
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_rput_f
subroutine pompi_win_complete_f(win,ierror) &
BIND(C, name="pompi_win_complete_f")
implicit none
@ -2052,6 +2140,36 @@ subroutine pompi_win_complete_f(win,ierror) &
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_complete_f
subroutine pompi_compare_and_swap_f(origin_addr,compare_addr,result_addr, &
datatype,target_rank,target_disp, win, &
ierror) &
BIND(C, name="pompi_compare_and_swap_f")
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: origin_addr, compare_addr
OMPI_FORTRAN_IGNORE_TKR_TYPE :: result_addr
INTEGER, INTENT(IN) :: datatype
INTEGER, INTENT(IN) :: target_rank
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: target_disp
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_compare_and_swap_f
subroutine pompi_fetch_and_op_f(origin_addr,result_addr,datatype,target_rank, &
target_disp,op,win,ierror) &
BIND(C, name="pompi_fetch_and_op_f")
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: origin_addr
OMPI_FORTRAN_IGNORE_TKR_TYPE :: result_addr
INTEGER, INTENT(IN) :: datatype
INTEGER, INTENT(IN) :: target_rank
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: target_disp
INTEGER, INTENT(IN) :: op
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_fetch_and_op_f
subroutine pompi_win_create_f(base,size,disp_unit,info,comm,win,ierror) &
BIND(C, name="pompi_win_create_f")
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
@ -2065,6 +2183,36 @@ subroutine pompi_win_create_f(base,size,disp_unit,info,comm,win,ierror) &
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_create_f
subroutine pompi_win_flush_f(rank,win,ierror) &
BIND(C, name="pompi_win_flush_f")
implicit none
INTEGER, INTENT(IN) :: rank
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_flush_f
subroutine pompi_win_flush_all_f(win,ierror) &
BIND(C, name="pompi_win_flush_all_f")
implicit none
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_flush_all_f
subroutine pompi_win_flush_local_f(rank,win,ierror) &
BIND(C, name="pompi_win_flush_local_f")
implicit none
INTEGER, INTENT(IN) :: rank
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_flush_local_f
subroutine pompi_win_flush_local_all_f(win,ierror) &
BIND(C, name="pompi_win_flush_local_all_f")
implicit none
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_flush_local_all_f
subroutine pompi_win_fence_f(assert,win,ierror) &
BIND(C, name="pompi_win_fence_f")
implicit none