1
1

Add missing implementation of MPI_FREE_MEM in the TKR mpi module.

This commit was SVN r29382.
Этот коммит содержится в:
Jeff Squyres 2013-10-04 22:38:57 +00:00
родитель 886e2cbf0f
Коммит e81e3ccee0
3 изменённых файлов: 84 добавлений и 0 удалений

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

@ -185,6 +185,7 @@ nodist_libmpi_usempi_la_SOURCES = \
mpi_irsend_f90.f90 \
mpi_isend_f90.f90 \
mpi_issend_f90.f90 \
mpi_free_mem_f90.f90 \
mpi_mrecv_f90.f90 \
mpi_put_f90.f90 \
mpi_recv_f90.f90 \

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

@ -65,6 +65,7 @@ fortran_scripts = \
mpi_file_write_ordered_end_f90.f90.sh \
mpi_file_write_ordered_f90.f90.sh \
mpi_file_write_shared_f90.f90.sh \
mpi_free_mem_f90.f90.sh \
mpi_gather_f90.f90.sh \
mpi_gatherv_f90.f90.sh \
mpi_get_f90.f90.sh \

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

@ -0,0 +1,82 @@
#! /bin/sh
#
# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2006-2013 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
#
# This file generates a Fortran code to bridge between an explicit F90
# generic interface and the F77 implementation.
#
# This file is automatically generated by either of the scripts
# ../xml/create_mpi_f90_medium.f90.sh or
# ../xml/create_mpi_f90_large.f90.sh
#
. "$1/fortran_kinds.sh"
# This entire file is only generated in medium/large modules. So if
# we're not at least medium, bail now.
check_size medium
if test "$output" = "0"; then
exit 0
fi
# Ok, we should continue.
allranks="0 $ranks"
output() {
procedure=$1
rank=$2
type=$4
proc="$1$2D$3"
cat <<EOF
subroutine ${proc}(base, ierror)
${type}, intent(in) :: base
integer, intent(out) :: ierror
call ${procedure}(base, ierror)
end subroutine ${proc}
EOF
}
for rank in $allranks
do
case "$rank" in 0) dim='' ; esac
case "$rank" in 1) dim=', dimension(*)' ; esac
case "$rank" in 2) dim=', dimension(1,*)' ; esac
case "$rank" in 3) dim=', dimension(1,1,*)' ; esac
case "$rank" in 4) dim=', dimension(1,1,1,*)' ; esac
case "$rank" in 5) dim=', dimension(1,1,1,1,*)' ; esac
case "$rank" in 6) dim=', dimension(1,1,1,1,1,*)' ; esac
case "$rank" in 7) dim=', dimension(1,1,1,1,1,1,*)' ; esac
output MPI_Free_mem ${rank} CH "character${dim}"
output MPI_Free_mem ${rank} L "logical${dim}"
for kind in $ikinds
do
output MPI_Free_mem ${rank} I${kind} "integer*${kind}${dim}"
done
for kind in $rkinds
do
output MPI_Free_mem ${rank} R${kind} "real*${kind}${dim}"
done
for kind in $ckinds
do
output MPI_Free_mem ${rank} C${kind} "complex*${kind}${dim}"
done
done