1
1

Fix to George's and my bugs. :-) A comedy of errors made the test

case still compile properly, even though these bindings were wrong.  :-(

- Both interface functions are necessary.
- I accidentally had a subroutine interface named the same thing as the
  back-end F77 function -- a definite no-no.  Ensure that all F90
  interface functions have a suffix to make them different than the
  back-end F77 function names.
- Also parameterize the output() subroutine on the type of the argvs
  parameter to switch between the character arrays and the integer.

This commit was SVN r9202.
Этот коммит содержится в:
Jeff Squyres 2006-03-04 19:36:13 +00:00
родитель a649ebc7c6
Коммит 2cceba7230
2 изменённых файлов: 6 добавлений и 7 удалений

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

@ -15438,7 +15438,7 @@ procedure='MPI_Comm_spawn_multiple'
echo "interface ${procedure}"
echo
proc="${procedure}"
proc="${procedure}N"
echo "subroutine ${proc}(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, &
root, comm, intercomm, array_of_errcodes, ierr)"
echo " use mpi_kinds"

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

@ -4,10 +4,8 @@
output() {
procedure=$1
proc=$2
if test "$proc" = ""; then
proc=$procedure
fi
proc="$1$2"
type=$3
cat <<EOF
subroutine ${proc}(count, array_of_commands, array_of_argv, &
@ -16,7 +14,7 @@ subroutine ${proc}(count, array_of_commands, array_of_argv, &
use mpi_kinds
integer, intent(in) :: count
character(len=*), dimension(*), intent(in) :: array_of_commands
integer, intent(in) :: array_of_argv
$type, intent(in) :: array_of_argv
integer, dimension(*), intent(in) :: array_of_maxprocs
integer, dimension(*), intent(in) :: array_of_info
integer, intent(in) :: root
@ -33,4 +31,5 @@ end subroutine ${proc}
EOF
}
output MPI_Comm_spawn_multiple MPI_Comm_spawn_multipleAN
output MPI_Comm_spawn_multiple N "character(len=*), dimension(count,*)"
output MPI_Comm_spawn_multiple AN integer