1
1

Fixed to match Jeff S's changes to mpi-f90-interfaces.h.sh

This commit was SVN r9674.
Этот коммит содержится в:
Craig E Rasmussen 2006-04-20 21:18:04 +00:00
родитель 65d5e18e9b
Коммит 8646604497

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

@ -4416,7 +4416,7 @@ do
for kind in $rkinds for kind in $rkinds
do do
output MPI_Free_mem ${rank} R${kind} "real*${kind}${dim}" output MPI_Free_mem ${rank} R${kind} "real*${kind}${dim}"
done done
for kind in $ckinds for kind in $ckinds
do do
output MPI_Free_mem ${rank} C${kind} "complex*${kind}${dim}" output MPI_Free_mem ${rank} C${kind} "complex*${kind}${dim}"
@ -7540,7 +7540,7 @@ subroutine ${procedure}(count, array_of_requests, flag, array_of_statuses, ierr)
integer, intent(in) :: count integer, intent(in) :: count
integer, dimension(count), intent(inout) :: array_of_requests integer, dimension(count), intent(inout) :: array_of_requests
integer, intent(out) :: flag integer, intent(out) :: flag
integer, dimension(count,MPI_STATUS_SIZE), intent(inout) :: array_of_statuses integer, dimension(count, MPI_STATUS_SIZE), intent(inout) :: array_of_statuses
integer, intent(out) :: ierr integer, intent(out) :: ierr
end subroutine ${procedure} end subroutine ${procedure}
@ -9613,26 +9613,15 @@ end MPI_Comm_spawn
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# The SPAWN_MULTIPLE interface has a nice compile-time check to ensure
# that the "count" parameter matches the dimension of the other
# parameters. If the constant MPI_ARGVS_NULL is a character array of
# some kind, there is no guarantee that the count value provided by
# the application will match the dimension of MPI_ARGVS_NULL, which
# could therefore result in a[n erroneous] compile-time error. As
# such, it is simpler to just make MPI_ARGVS_NULL a wholly different
# type (e.g., integer) that matches an entirely different interface
# function.
output() { output() {
if test "$output" = "0"; then if test "$output" = "0"; then
return 0 return 0
fi fi
procedure=$1 procedure=$1
# N = "normal"
cat <<EOF cat <<EOF
subroutine ${procedure}N(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, & subroutine ${procedure}(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, &
root, comm, intercomm, array_of_errcodes, ierr) root, comm, intercomm, array_of_errcodes, ierr)
include 'mpif.h' include 'mpif.h'
integer, intent(in) :: count integer, intent(in) :: count
@ -9645,16 +9634,16 @@ subroutine ${procedure}N(count, array_of_commands, array_of_argv, array_of_maxpr
integer, intent(out) :: intercomm integer, intent(out) :: intercomm
integer, dimension(*), intent(out) :: array_of_errcodes integer, dimension(*), intent(out) :: array_of_errcodes
integer, intent(out) :: ierr integer, intent(out) :: ierr
end subroutine ${procedure}N end subroutine ${procedure}
EOF EOF
} }
start MPI_Comm_spawn_multiple small start MPI_Comm_spawn_multiple small
output MPI_Comm_spawn_multiple output MPI_Comm_spawn_multipleN
end MPI_Comm_spawn_multiple
# Now we do the MPI_ARGVS_NULL variant -- note the different type for #------------------------------------------------------------------------
# the array_of_argv argument.
output() { output() {
if test "$output" = "0"; then if test "$output" = "0"; then
@ -9662,10 +9651,9 @@ output() {
fi fi
procedure=$1 procedure=$1
# AN = "ARGV_NULL variant"
cat <<EOF cat <<EOF
subroutine ${procedure}AN(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, & subroutine ${procedure}(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, &
root, comm, intercomm, array_of_errcodes, ierr) root, comm, intercomm, array_of_errcodes, ierr)
include 'mpif.h' include 'mpif.h'
integer, intent(in) :: count integer, intent(in) :: count
@ -9678,11 +9666,11 @@ subroutine ${procedure}AN(count, array_of_commands, array_of_argv, array_of_maxp
integer, intent(out) :: intercomm integer, intent(out) :: intercomm
integer, dimension(*), intent(out) :: array_of_errcodes integer, dimension(*), intent(out) :: array_of_errcodes
integer, intent(out) :: ierr integer, intent(out) :: ierr
end subroutine ${procedure}AN end subroutine ${procedure}
EOF EOF
} }
output MPI_Comm_spawn_multiple start MPI_Comm_spawn_multiple small
output MPI_Comm_spawn_multipleAN
end MPI_Comm_spawn_multiple end MPI_Comm_spawn_multiple