1
1

fortran: add Fortran 2008 bindings for attr_fn (MPI_COMM_DUP_FN and friends)

Fixes open-mpi/ompi#460
Этот коммит содержится в:
Gilles Gouaillardet 2015-06-02 11:46:29 +09:00
родитель e701bf35cc
Коммит 98bf02485d
2 изменённых файлов: 52 добавлений и 12 удалений

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

@ -4,6 +4,8 @@
! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2013 Los Alamos National Security, LLC. All rights
! reserved.
! Copyright (c) 2015 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
!
! Additional copyrights may follow
@ -43,7 +45,7 @@ interface
subroutine MPI_COMM_NULL_COPY_FN( comm, comm_keyval, extra_state, &
attribute_val_in, attribute_val_out, &
flag, ierr )
flag, ierr ) BIND(C,name="ompi_comm_null_copy_fn_f")
use mpi_f08_types
implicit none
type(MPI_Comm) :: comm
@ -53,8 +55,20 @@ interface
logical :: flag
end subroutine MPI_COMM_NULL_COPY_FN
subroutine MPI_COMM_DUP_FN( comm, comm_keyval, extra_state, &
attribute_val_in, attribute_val_out, &
flag, ierr ) BIND(C,name="ompi_comm_dup_fn_f")
use mpi_f08_types
implicit none
type(MPI_Comm) :: comm
integer :: comm_keyval
integer(kind=MPI_ADDRESS_KIND) :: extra_state, attribute_val_in, attribute_val_out
integer :: ierr
logical :: flag
end subroutine MPI_COMM_DUP_FN
subroutine MPI_COMM_NULL_DELETE_FN(comm, comm_keyval, attribute_val_out, &
extra_state, ierr )
extra_state, ierr ) BIND(C,name="ompi_comm_null_delete_fn_f")
use mpi_f08_types
implicit none
type(MPI_Comm) :: comm
@ -67,7 +81,7 @@ interface
subroutine MPI_TYPE_NULL_COPY_FN( type, type_keyval, extra_state, &
attribute_val_in, attribute_val_out, &
flag, ierr )
flag, ierr ) BIND(C,name="ompi_type_null_copy_fn_f")
use mpi_f08_types
implicit none
type(MPI_Datatype) :: type
@ -77,8 +91,20 @@ interface
logical :: flag
end subroutine MPI_TYPE_NULL_COPY_FN
subroutine MPI_TYPE_DUP_FN( type, type_keyval, extra_state, &
attribute_val_in, attribute_val_out, &
flag, ierr ) BIND(C,name="ompi_type_dup_fn_f")
use mpi_f08_types
implicit none
type(MPI_Datatype) :: type
integer :: type_keyval
integer(kind=MPI_ADDRESS_KIND) :: extra_state, attribute_val_in, attribute_val_out
integer :: ierr
logical :: flag
end subroutine MPI_TYPE_DUP_FN
subroutine MPI_TYPE_NULL_DELETE_FN( type, type_keyval, attribute_val_out, &
extra_state, ierr )
extra_state, ierr ) BIND(C,name="ompi_type_null_delete_fn_f")
use mpi_f08_types
implicit none
type(MPI_Datatype) :: type
@ -91,7 +117,7 @@ interface
subroutine MPI_WIN_NULL_COPY_FN( window, win_keyval, extra_state, &
attribute_val_in, attribute_val_out, &
flag, ierr )
flag, ierr ) BIND(C,name="ompi_win_null_copy_fn_f")
use mpi_f08_types
implicit none
type(MPI_Win) :: window
@ -101,8 +127,20 @@ interface
logical :: flag
end subroutine MPI_WIN_NULL_COPY_FN
subroutine MPI_WIN_DUP_FN( window, win_keyval, extra_state, &
attribute_val_in, attribute_val_out, &
flag, ierr ) BIND(C,name="ompi_win_dup_fn_f")
use mpi_f08_types
implicit none
type(MPI_Win) :: window
integer :: win_keyval
integer(kind=MPI_ADDRESS_KIND) :: extra_state, attribute_val_in, attribute_val_out
integer :: ierr
logical :: flag
end subroutine MPI_WIN_DUP_FN
subroutine MPI_WIN_NULL_DELETE_FN( window, win_keyval, attribute_val_out, &
extra_state, ierr )
extra_state, ierr ) BIND(C,name="ompi_win_null_delete_fn_f")
use mpi_f08_types
implicit none
type(MPI_Win) :: window

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

@ -2,6 +2,8 @@
! Copyright (c) 2009-2013 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2015 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
@ -64,7 +66,7 @@ END INTERFACE
OMPI_ABSTRACT INTERFACE
SUBROUTINE MPI_Comm_copy_attr_function(oldcomm,comm_keyval,extra_state, &
attribute_val_in,attribute_val_out,flag,ierror)
attribute_val_in,attribute_val_out,flag,ierror) BIND(C)
USE mpi_f08_types
IMPLICIT NONE
TYPE(MPI_Comm) :: oldcomm
@ -76,7 +78,7 @@ END INTERFACE
OMPI_ABSTRACT INTERFACE
SUBROUTINE MPI_Comm_delete_attr_function(comm,comm_keyval, &
attribute_val, extra_state, ierror)
attribute_val, extra_state, ierror) BIND(C)
USE mpi_f08_types
IMPLICIT NONE
TYPE(MPI_Comm) :: comm
@ -87,7 +89,7 @@ END INTERFACE
OMPI_ABSTRACT INTERFACE
SUBROUTINE MPI_Win_copy_attr_function(oldwin,win_keyval,extra_state, &
attribute_val_in,attribute_val_out,flag,ierror)
attribute_val_in,attribute_val_out,flag,ierror) BIND(C)
USE mpi_f08_types
IMPLICIT NONE
TYPE(MPI_Win) :: oldwin
@ -99,7 +101,7 @@ END INTERFACE
OMPI_ABSTRACT INTERFACE
SUBROUTINE MPI_Win_delete_attr_function(win,win_keyval,attribute_val, &
extra_state,ierror)
extra_state,ierror) BIND(C)
USE mpi_f08_types
IMPLICIT NONE
TYPE(MPI_Win) :: win
@ -110,7 +112,7 @@ END INTERFACE
OMPI_ABSTRACT INTERFACE
SUBROUTINE MPI_Type_copy_attr_function(oldtype,type_keyval,extra_state, &
attribute_val_in,attribute_val_out,flag,ierror)
attribute_val_in,attribute_val_out,flag,ierror) BIND(C)
USE mpi_f08_types
IMPLICIT NONE
TYPE(MPI_Datatype) :: oldtype
@ -122,7 +124,7 @@ END INTERFACE
OMPI_ABSTRACT INTERFACE
SUBROUTINE MPI_Type_delete_attr_function(datatype,type_keyval, &
attribute_val,extra_state,ierror)
attribute_val,extra_state,ierror) BIND(C)
USE mpi_f08_types
IMPLICIT NONE
TYPE(MPI_Datatype) :: datatype