the                11 ompi/include/mpif-externals.h ! Copyright (c) 2004-2005 The Regents of the University of California.
the                22 ompi/include/mpif-externals.h !     These "external" statements are specific to the MPI mpif.h
the                23 ompi/include/mpif-externals.h !     interface (and are toxic to the MPI module interfaces),.
the                35 ompi/include/mpif-externals.h !     the same size/type.  It is therefore external'ed here, and not
the                11 ompi/include/mpif-sentinels.h ! Copyright (c) 2004-2005 The Regents of the University of California.
the                23 ompi/include/mpif-sentinels.h !     All of these types were chosen with care to match the types of
the                27 ompi/include/mpif-sentinels.h !     - the "mpi" module bindings
the                28 ompi/include/mpif-sentinels.h !     - the "mpi_f08" module bindings
the                36 ompi/include/mpif-sentinels.h !     MPI_IN_PLACE has the same rationale as MPI_BOTTOM.
the                38 ompi/include/mpif-sentinels.h !     Making MPI_ARGV_NULL be the same type as the parameter that is
the                39 ompi/include/mpif-sentinels.h !     exepected in the F90 binding for MPI_COMM_SPAWN means that we
the                45 ompi/include/mpif-sentinels.h !     F77 functions are all smart enough to check that the errcodes
the                47 ompi/include/mpif-sentinels.h !     (hence, the fact that this is an array of only 1 element does not
the                 2 ompi/mpi/fortran/base/attr-fn-int-callback-interfaces.h ! Copyright (c) 2004-2005 The Regents of the University of California.
the                12 ompi/mpi/fortran/base/conversion-fn-null-int-interface.h ! them to the "mpi" module namespace, and result in linker errors if MPI
the                13 ompi/mpi/fortran/base/conversion-fn-null-int-interface.h ! F90 applications try to use them.  because the implementations of
the                14 ompi/mpi/fortran/base/conversion-fn-null-int-interface.h ! these functions are not in the MPI module namespace -- they're the F77
the                15 ompi/mpi/fortran/configure-fortran-output-bottom.h ! conditional logic based on the #define's values from that file.
the                14 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! This file provides the interface specifications for the MPI Fortran
the                16 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! and the back-end OMPI implementation subroutine name (e.g.,
the                23 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! Most of the "wrapper" subroutines in the mpi_f08 module (i.e., all
the                24 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! the ones prototyped in this file) are simple routines that simply
the                30 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! BIND(C) routines (because the .TRUE. and .FALSE. values are not
the                33 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! invoke the back-end ompi_*_f() C function.  There are 2 cases:
the                35 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! 1. If the Fortran interface has a LOGICAL parameter and no
the                36 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! TYPE(MPI_Status) parameter, the individual wrapper implementation
the                37 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! files (e.g., finalized_f08.F90) use the "mpi" module to get a
the                38 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! interface for the subroutine and call the PMPI_* name of the
the                39 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! function, which then invokes the corresponding function in the
the                42 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! This is a bit of a hack: the "mpi" module will provide the right
the                43 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! Fortran interface so that the compiler can verify that we're passing
the                44 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! the right types (e.g., convert MPI handles from comm to
the                46 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! arrays* of handles (e.g., the sendtypes and recvtypes arrays
the                47 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! MPI_Alltoallw), we declare that the corresponding ompi_*_f()
the                53 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! However, remember that Fortran passes by reference.  So the compiler
the                54 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! will pass a pointer to sendtypes(0)%MPI_VAL (i.e., the first integer
the                55 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! in the array).  And since the mpi_f08 handles were cleverly designed
the                58 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! an address to the first MPI_VAL is exactly the same as passing an
the                61 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! Specifically: the back-end C function (in *.c files in
the                69 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! is actually quite a common hack in the Fortran developer world, so
the                72 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! 2. If the Fortran interface has both LOGICAL and TYPE(MPI_Status)
the                76 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! The problem occurs because in the mpi_f08 module, an MPI_Status is
the                77 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! TYPE(MPI_Status), but in the mpi module, it's INTEGER,
the                81 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! to fool the compiler into accepting it (it's the same C<-->Fortran
the                85 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! an "interface" block for the PMPI_* subroutine that we want to call.
the                86 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! And we lie in that interface block, saying that the status argument
the                89 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! the same type that we already have.
the                91 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! For the C programmers reading this, this is very much analogous to
the               104 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! To fix the compiler warning, instead of including "header.h", we
the               119 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! because we know the back-end memory representation of the two types
the               120 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! is the same.
the               124 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! Wasn't that simple?  Here's the list of subroutines that are not
the               196 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! MPI_BUFFER_DETACH (i.e., it is different than the mpif.h / mpi
the              3250 ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h ! is replaced by the specific generics.
the                10 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h ! This file contains interfaces that use the ISO_C_BINDING module and
the                11 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h ! the TYPE(C_PTR) type, which not all Fortran compilers support (e.g.,
the                13 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h ! preprocessor macro to protect the problematic declarations.
the                16 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h ! mpi.F90, which allows us to use the preprocessor "if" directive,
the                34 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h ! Only include the 2nd interface if we have ISO_C_BINDING / TYPE(C_PTR)
the                63 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h ! Only include the 2nd interface if we have ISO_C_BINDING / TYPE(C_PTR)
the                91 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-cptr-interfaces.h ! Only include the 2nd interface if we have ISO_C_BINDING / TYPE(C_PTR)
the                11 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-file-interfaces.h ! Copyright (c) 2004-2005 The Regents of the University of California.
the                11 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-interfaces.h ! Copyright (c) 2004-2005 The Regents of the University of California.
the                11 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-removed-interfaces.h ! Copyright (c) 2004-2005 The Regents of the University of California.
the                12 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-cptr-interfaces.h ! This file contains interfaces that use the ISO_C_BINDING module and
the                13 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-cptr-interfaces.h ! the TYPE(C_PTR) type, which not all Fortran compilers support (e.g.,
the                15 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-cptr-interfaces.h ! preprocessor macro to protect the problematic declarations.
the                18 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-cptr-interfaces.h ! mpi.F90, which allows us to use the preprocessor "if" directive,
the                36 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-cptr-interfaces.h ! Only include the 2nd interface if we have ISO_C_BINDING / TYPE(C_PTR)
the                65 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-cptr-interfaces.h ! Only include the 2nd interface if we have ISO_C_BINDING / TYPE(C_PTR)
the                93 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-cptr-interfaces.h ! Only include the 2nd interface if we have ISO_C_BINDING / TYPE(C_PTR)
the                11 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-file-interfaces.h ! Copyright (c) 2004-2005 The Regents of the University of California.
the                11 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-interfaces.h ! Copyright (c) 2004-2005 The Regents of the University of California.
the                11 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-removed-interfaces.h ! Copyright (c) 2004-2005 The Regents of the University of California.
the                12 ompi/mpiext/example/mpif-h/mpiext_example_mpifh.h ! Since the OMPI mpif.h interface does not prototype subroutines, do not
the                11 ompi/mpiext/example/use-mpi-f08/mpiext_example_usempif08.h ! This whole file will be included in the mpi_f08_ext module interface
the                12 ompi/mpiext/example/use-mpi-f08/mpiext_example_usempif08.h ! section.  Note that the extension's mpif.h file will be included
the                17 ompi/mpiext/example/use-mpi-f08/mpiext_example_usempif08.h ! here.  Note that the mpiext_example_mpif.h will automatically be
the                11 ompi/mpiext/example/use-mpi/mpiext_example_usempi.h ! This whole file will be included in the mpi_ext module interface
the                12 ompi/mpiext/example/use-mpi/mpiext_example_usempi.h ! section.  Note that the extension's mpif.h file will be included
the                17 ompi/mpiext/example/use-mpi/mpiext_example_usempi.h ! here.  Note that the mpiext_example_mpif.h will automatically be
the                14 ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_mpifh.h ! Since the OMPI mpif.h interface does not prototype subroutines, do not
the                14 ompi/mpiext/pcollreq/use-mpi-f08/mpiext_pcollreq_usempif08.h ! This whole file will be included in the mpi_f08_ext module interface
the                15 ompi/mpiext/pcollreq/use-mpi-f08/mpiext_pcollreq_usempif08.h ! section.  Note that the extension's mpif.h file will be included
the                20 ompi/mpiext/pcollreq/use-mpi-f08/mpiext_pcollreq_usempif08.h ! here.  Note that the mpiext_example_mpif.h will automatically be
the                14 ompi/mpiext/pcollreq/use-mpi/mpiext_pcollreq_usempi.h ! This whole file will be included in the mpi_ext module interface
the                15 ompi/mpiext/pcollreq/use-mpi/mpiext_pcollreq_usempi.h ! section.  Note that the extension's mpif.h file will be included
the                20 ompi/mpiext/pcollreq/use-mpi/mpiext_pcollreq_usempi.h ! here.  Note that the mpiext_example_mpif.h will automatically be
the                12 ompi/mpiext/shortfloat/use-mpi/mpiext_shortfloat_usempi.h ! into the mpi_ext module file.