From 10e2137b97f5a7973bd191e23766b52c124b8391 Mon Sep 17 00:00:00 2001 From: Jeff Squyres Date: Sat, 19 Apr 2014 12:06:24 +0000 Subject: [PATCH] mpi_f08 fixes from Craig's review: * Superfluous use of MPI_User_function in comm_create_keyval_f08.F90 * Missed adding "value" keyword to function pointer arguments in pmpi C interfaces Submitted by Craig, reviewed by Jeff. Refs trac:4512 This commit was SVN r31455. The following Trac tickets were found above: Ticket 4512 --> https://svn.open-mpi.org/trac/ompi/ticket/4512 --- .../use-mpi-f08/comm_create_keyval_f08.F90 | 3 +- .../use-mpi-f08/pmpi-f-interfaces-bind.h | 32 +++++++++---------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/ompi/mpi/fortran/use-mpi-f08/comm_create_keyval_f08.F90 b/ompi/mpi/fortran/use-mpi-f08/comm_create_keyval_f08.F90 index bfdfa0bcbd..107ef29191 100644 --- a/ompi/mpi/fortran/use-mpi-f08/comm_create_keyval_f08.F90 +++ b/ompi/mpi/fortran/use-mpi-f08/comm_create_keyval_f08.F90 @@ -1,6 +1,6 @@ ! -*- f90 -*- ! -! Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. +! Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. ! Copyright (c) 2009-2012 Los Alamos National Security, LLC. ! All rights reserved. ! $COPYRIGHT$ @@ -10,7 +10,6 @@ subroutine MPI_Comm_create_keyval_f08(comm_copy_attr_fn,comm_delete_attr_fn,& comm_keyval,extra_state,ierror) use, intrinsic :: iso_c_binding, only: c_funptr, c_funloc - use :: mpi_f08_interfaces_callbacks, only : MPI_User_function use :: mpi_f08_types, only : MPI_ADDRESS_KIND use :: mpi_f08_interfaces_callbacks, only : MPI_Comm_copy_attr_function use :: mpi_f08_interfaces_callbacks, only : MPI_Comm_delete_attr_function diff --git a/ompi/mpi/fortran/use-mpi-f08/pmpi-f-interfaces-bind.h b/ompi/mpi/fortran/use-mpi-f08/pmpi-f-interfaces-bind.h index 11c335d21d..617731278d 100644 --- a/ompi/mpi/fortran/use-mpi-f08/pmpi-f-interfaces-bind.h +++ b/ompi/mpi/fortran/use-mpi-f08/pmpi-f-interfaces-bind.h @@ -1,6 +1,6 @@ ! -*- f90 -*- ! -! Copyright (c) 2009-2013 Cisco Systems, Inc. All rights reserved. +! Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved. ! Copyright (c) 2009-2012 Los Alamos National Security, LLC. ! All rights reserved. ! Copyright (c) 2012 The University of Tennessee and The University @@ -1113,8 +1113,8 @@ subroutine pompi_comm_create_keyval_f(comm_copy_attr_fn,comm_delete_attr_fn, & use :: mpi_f08_types, only : MPI_ADDRESS_KIND use, intrinsic :: iso_c_binding, only: c_funptr implicit none - type(c_funptr) :: comm_copy_attr_fn - type(c_funptr) :: comm_delete_attr_fn + type(c_funptr), value :: comm_copy_attr_fn + type(c_funptr), value :: comm_delete_attr_fn INTEGER, INTENT(OUT) :: comm_keyval INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: extra_state INTEGER, INTENT(OUT) :: ierror @@ -1354,8 +1354,8 @@ subroutine pompi_type_create_keyval_f(type_copy_attr_fn,type_delete_attr_fn, & use :: mpi_f08_types, only : MPI_ADDRESS_KIND use, intrinsic :: iso_c_binding, only: c_funptr implicit none - type(c_funptr) :: type_copy_attr_fn - type(c_funptr) :: type_delete_attr_fn + type(c_funptr), value :: type_copy_attr_fn + type(c_funptr), value :: type_delete_attr_fn INTEGER, INTENT(OUT) :: type_keyval INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: extra_state INTEGER, INTENT(OUT) :: ierror @@ -1413,8 +1413,8 @@ subroutine pompi_win_create_keyval_f(win_copy_attr_fn,win_delete_attr_fn, & use :: mpi_f08_types, only : MPI_ADDRESS_KIND use, intrinsic :: iso_c_binding, only: c_funptr implicit none - type(c_funptr) :: win_copy_attr_fn - type(c_funptr) :: win_delete_attr_fn + type(c_funptr), value :: win_copy_attr_fn + type(c_funptr), value :: win_delete_attr_fn INTEGER, INTENT(OUT) :: win_keyval INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: extra_state INTEGER, INTENT(OUT) :: ierror @@ -1645,7 +1645,7 @@ subroutine pompi_comm_create_errhandler_f(comm_errhandler_fn,errhandler,ierror) BIND(C, name="pompi_comm_create_errhandler_f") use, intrinsic :: iso_c_binding, only: c_funptr implicit none - type(c_funptr) :: comm_errhandler_fn + type(c_funptr), value :: comm_errhandler_fn INTEGER, INTENT(OUT) :: errhandler INTEGER, INTENT(OUT) :: ierror end subroutine pompi_comm_create_errhandler_f @@ -1706,7 +1706,7 @@ subroutine pompi_file_create_errhandler_f(file_errhandler_fn,errhandler,ierror) BIND(C, name="pompi_file_create_errhandler_f") use, intrinsic :: iso_c_binding, only: c_funptr implicit none - type(c_funptr) :: file_errhandler_fn + type(c_funptr), value :: file_errhandler_fn INTEGER, INTENT(OUT) :: errhandler INTEGER, INTENT(OUT) :: ierror end subroutine pompi_file_create_errhandler_f @@ -1779,7 +1779,7 @@ subroutine pompi_win_create_errhandler_f(win_errhandler_fn,errhandler,ierror) & BIND(C, name="pompi_win_create_errhandler_f") use, intrinsic :: iso_c_binding, only: c_funptr implicit none - type(c_funptr) :: win_errhandler_fn + type(c_funptr), value :: win_errhandler_fn INTEGER, INTENT(OUT) :: errhandler INTEGER, INTENT(OUT) :: ierror end subroutine pompi_win_create_errhandler_f @@ -2287,9 +2287,9 @@ subroutine pompi_grequest_start_f(query_fn,free_fn,cancel_fn, & use :: mpi_f08_types, only : MPI_ADDRESS_KIND use, intrinsic :: iso_c_binding, only: c_funptr implicit none - type(c_funptr) :: query_fn - type(c_funptr) :: free_fn - type(c_funptr) :: cancel_fn + type(c_funptr), value :: query_fn + type(c_funptr), value :: free_fn + type(c_funptr), value :: cancel_fn INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: extra_state INTEGER, INTENT(OUT) :: request INTEGER, INTENT(OUT) :: ierror @@ -2858,9 +2858,9 @@ subroutine pompi_register_datarep_f(datarep,read_conversion_fn, & use :: mpi_f08_types, only : MPI_ADDRESS_KIND use, intrinsic :: iso_c_binding, only: c_funptr implicit none - type(c_funptr) :: read_conversion_fn - type(c_funptr) :: write_conversion_fn - type(c_funptr) :: dtype_file_extent_fn + type(c_funptr), value :: read_conversion_fn + type(c_funptr), value :: write_conversion_fn + type(c_funptr), value :: dtype_file_extent_fn CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: datarep INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: extra_state INTEGER, INTENT(OUT) :: ierror