File indexing completed on 2025-01-17 09:55:51
0001 ! -*- fortran -*-
0002 !
0003 ! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
0004 ! University Research and Technology
0005 ! Corporation. All rights reserved.
0006 ! Copyright (c) 2004-2010 The University of Tennessee and The University
0007 ! of Tennessee Research Foundation. All rights
0008 ! reserved.
0009 ! Copyright (c) 2004-2007 High Performance Computing Center Stuttgart,
0010 ! University of Stuttgart. All rights reserved.
0011 ! Copyright (c) 2004-2005 The Regents of the University of California.
0012 ! All rights reserved.
0013 ! Copyright (c) 2006-2012 Cisco Systems, Inc. All rights reserved.
0014 ! Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
0015 ! $COPYRIGHT$
0016 !
0017 ! Additional copyrights may follow
0018 !
0019 ! $HEADER$
0020 !
0021
0022 !
0023 ! All of these types were chosen with care to match the types of
0024 ! their corresponding C variables. Do not arbitrarily change
0025 ! their types without also updating:
0026 !
0027 ! - the "mpi" module bindings
0028 ! - the "mpi_f08" module bindings
0029 ! - ompi/mpi/fortran/base/gen-mpi-mangling.pl
0030 !
0031
0032 ! MPI_BOTTOM is only used where choice buffers can be used (meaning
0033 ! that we already have overloaded F90 bindings for all available
0034 ! types), so any type is fine.
0035 integer MPI_BOTTOM
0036 ! MPI_IN_PLACE has the same rationale as MPI_BOTTOM.
0037 integer MPI_IN_PLACE
0038 ! Making MPI_ARGV_NULL be the same type as the parameter that is
0039 ! expected in the F90 binding for MPI_COMM_SPAWN means that we
0040 ! don't need another interface for MPI_COMM_SPAWN.
0041 character MPI_ARGV_NULL(1)
0042 ! Ditto for MPI_ARGVS_NULL / MPI_COMM_SPAWN_MULTIPLE.
0043 character MPI_ARGVS_NULL(1, 1)
0044 ! MPI_ERRCODES_IGNORE has similar rationale to MPI_ARGV_NULL. The
0045 ! F77 functions are all smart enough to check that the errcodes
0046 ! parameter is not ERRCODES_IGNORE before assigning values into it
0047 ! (hence, the fact that this is an array of only 1 element does not
0048 ! matter -- we'll never overrun it because we never assign values
0049 ! into it).
0050 integer MPI_ERRCODES_IGNORE(1)
0051 ! MPI_STATUS_IGNORE has similar rationale to MPI_ERRCODES_IGNORE.
0052 integer MPI_STATUS_IGNORE(MPI_STATUS_SIZE)
0053 ! Ditto for MPI_STATUSES_IGNORE
0054 integer MPI_STATUSES_IGNORE(MPI_STATUS_SIZE, 1)
0055 ! Ditto for MPI_UNWEIGHTED
0056 integer MPI_UNWEIGHTED(1)
0057 ! Ditto for MPI_WEIGHTS_EMPTY
0058 integer MPI_WEIGHTS_EMPTY(1)
0059
0060 common/mpi_fortran_bottom/MPI_BOTTOM
0061 common/mpi_fortran_in_place/MPI_IN_PLACE
0062 common/mpi_fortran_argv_null/MPI_ARGV_NULL
0063 common/mpi_fortran_argvs_null/MPI_ARGVS_NULL
0064 common/mpi_fortran_errcodes_ignore/MPI_ERRCODES_IGNORE
0065 common/mpi_fortran_status_ignore/MPI_STATUS_IGNORE
0066 common/mpi_fortran_statuses_ignore/MPI_STATUSES_IGNORE
0067 common/mpi_fortran_unweighted/MPI_UNWEIGHTED
0068 common/mpi_fortran_weights_empty/MPI_WEIGHTS_EMPTY