Many updates and bug fixes for the Fortran bindings. Sorry these
aren't separated out into individual commits; they represent a few
months of work in the Mercurial branch, and it seemed error-prone to
try to break them up into multiple SVN commits.
* Remove 2nd overloaded interfaces for MPI_TESTALL, MPI_TESTSOME,
MPI_WAITALL, and MPI_WAITSOME in the "mpi" module implementations
(because we're not allowed to have them, anyway -- it causes
complications in the profiling interface). This forced an MPI-2.2
errata in the MPI Forum; we applied the errata here (the array of
statuses parameter could not have a specific dimension specified in
the dummy argument). Fixes trac:3166.
* Similarly, fix type for MPI_ARGVS_NULL in Fortran
* Add MPI_3.0 function MPI_F_SYNC_REG (Fortran interfaces only).
* Add MPI-3.0 MPI_MESSAGE_NO_PROC in the mpi_f08 module.
* Added mpi_f08 handle comparison operators, per MPI-3.0 addendum to
the F08 proposal at the last Forum meeting.
* Added missing type(MPI_File) and type(Message) in mpi_f08 module.
* Fix --disable-mpi-io configure switch with all Fortran interfaces
* Re-factor the Fortran header files to be fundamentally simpler and
easier to maintain. Fortran constant values in the header files
are now generated by a script named mpif-values.pl during
autogen.pl (they were previously generated by mpif-common.pl, but
it was quite a bit more subtle/complex). A second commit will
follow this one to update svn:ignore values (just to ensure we
don't muck up the first commit with the SVN client getting confused
by the changed ignore values and new/changed files).
* Fix some dependencies for compile ordering in
ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile.am.
* Fix bad wording in several places (.m4 file name, ompi_info output,
etc.): we previoulsy said "F08 assumed shape" when we really meant
"F08 assumed rank" (for Fortran gurus, those are very different
things).
* Removed the GREEK/SVN version string from mpif.h. It really had no
purpose being there.
Still to be done:
* Handling of 2D array of strings in MPI_COMM_SPAWN_MULTIPLE still
isn't right yet. Not sure how many people really care about this
:-), but it is still broken.
This commit was SVN r26997.
The following Trac tickets were found above:
Ticket 3166 --> https://svn.open-mpi.org/trac/ompi/ticket/3166
2012-08-10 21:19:47 +00:00
|
|
|
! -*- f90 -*-
|
2004-11-22 00:37:56 +00:00
|
|
|
!
|
2005-11-05 19:57:48 +00:00
|
|
|
! Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
|
|
|
! University Research and Technology
|
|
|
|
! Corporation. All rights reserved.
|
|
|
|
! Copyright (c) 2004-2005 The University of Tennessee and The University
|
|
|
|
! of Tennessee Research Foundation. All rights
|
|
|
|
! reserved.
|
2004-11-28 20:09:25 +00:00
|
|
|
! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
|
|
! University of Stuttgart. All rights reserved.
|
2005-03-24 12:43:37 +00:00
|
|
|
! Copyright (c) 2004-2005 The Regents of the University of California.
|
|
|
|
! All rights reserved.
|
2014-04-11 21:01:16 +00:00
|
|
|
! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
|
2004-11-22 01:38:40 +00:00
|
|
|
! $COPYRIGHT$
|
|
|
|
!
|
|
|
|
! Additional copyrights may follow
|
|
|
|
!
|
2004-11-22 00:37:56 +00:00
|
|
|
! $HEADER$
|
|
|
|
!
|
|
|
|
|
Many updates and bug fixes for the Fortran bindings. Sorry these
aren't separated out into individual commits; they represent a few
months of work in the Mercurial branch, and it seemed error-prone to
try to break them up into multiple SVN commits.
* Remove 2nd overloaded interfaces for MPI_TESTALL, MPI_TESTSOME,
MPI_WAITALL, and MPI_WAITSOME in the "mpi" module implementations
(because we're not allowed to have them, anyway -- it causes
complications in the profiling interface). This forced an MPI-2.2
errata in the MPI Forum; we applied the errata here (the array of
statuses parameter could not have a specific dimension specified in
the dummy argument). Fixes trac:3166.
* Similarly, fix type for MPI_ARGVS_NULL in Fortran
* Add MPI_3.0 function MPI_F_SYNC_REG (Fortran interfaces only).
* Add MPI-3.0 MPI_MESSAGE_NO_PROC in the mpi_f08 module.
* Added mpi_f08 handle comparison operators, per MPI-3.0 addendum to
the F08 proposal at the last Forum meeting.
* Added missing type(MPI_File) and type(Message) in mpi_f08 module.
* Fix --disable-mpi-io configure switch with all Fortran interfaces
* Re-factor the Fortran header files to be fundamentally simpler and
easier to maintain. Fortran constant values in the header files
are now generated by a script named mpif-values.pl during
autogen.pl (they were previously generated by mpif-common.pl, but
it was quite a bit more subtle/complex). A second commit will
follow this one to update svn:ignore values (just to ensure we
don't muck up the first commit with the SVN client getting confused
by the changed ignore values and new/changed files).
* Fix some dependencies for compile ordering in
ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile.am.
* Fix bad wording in several places (.m4 file name, ompi_info output,
etc.): we previoulsy said "F08 assumed shape" when we really meant
"F08 assumed rank" (for Fortran gurus, those are very different
things).
* Removed the GREEK/SVN version string from mpif.h. It really had no
purpose being there.
Still to be done:
* Handling of 2D array of strings in MPI_COMM_SPAWN_MULTIPLE still
isn't right yet. Not sure how many people really care about this
:-), but it is still broken.
This commit was SVN r26997.
The following Trac tickets were found above:
Ticket 3166 --> https://svn.open-mpi.org/trac/ompi/ticket/3166
2012-08-10 21:19:47 +00:00
|
|
|
#include "ompi/mpi/fortran/configure-fortran-output.h"
|
|
|
|
|
2004-10-29 15:30:03 +00:00
|
|
|
module mpi
|
|
|
|
|
Many updates and bug fixes for the Fortran bindings. Sorry these
aren't separated out into individual commits; they represent a few
months of work in the Mercurial branch, and it seemed error-prone to
try to break them up into multiple SVN commits.
* Remove 2nd overloaded interfaces for MPI_TESTALL, MPI_TESTSOME,
MPI_WAITALL, and MPI_WAITSOME in the "mpi" module implementations
(because we're not allowed to have them, anyway -- it causes
complications in the profiling interface). This forced an MPI-2.2
errata in the MPI Forum; we applied the errata here (the array of
statuses parameter could not have a specific dimension specified in
the dummy argument). Fixes trac:3166.
* Similarly, fix type for MPI_ARGVS_NULL in Fortran
* Add MPI_3.0 function MPI_F_SYNC_REG (Fortran interfaces only).
* Add MPI-3.0 MPI_MESSAGE_NO_PROC in the mpi_f08 module.
* Added mpi_f08 handle comparison operators, per MPI-3.0 addendum to
the F08 proposal at the last Forum meeting.
* Added missing type(MPI_File) and type(Message) in mpi_f08 module.
* Fix --disable-mpi-io configure switch with all Fortran interfaces
* Re-factor the Fortran header files to be fundamentally simpler and
easier to maintain. Fortran constant values in the header files
are now generated by a script named mpif-values.pl during
autogen.pl (they were previously generated by mpif-common.pl, but
it was quite a bit more subtle/complex). A second commit will
follow this one to update svn:ignore values (just to ensure we
don't muck up the first commit with the SVN client getting confused
by the changed ignore values and new/changed files).
* Fix some dependencies for compile ordering in
ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile.am.
* Fix bad wording in several places (.m4 file name, ompi_info output,
etc.): we previoulsy said "F08 assumed shape" when we really meant
"F08 assumed rank" (for Fortran gurus, those are very different
things).
* Removed the GREEK/SVN version string from mpif.h. It really had no
purpose being there.
Still to be done:
* Handling of 2D array of strings in MPI_COMM_SPAWN_MULTIPLE still
isn't right yet. Not sure how many people really care about this
:-), but it is still broken.
This commit was SVN r26997.
The following Trac tickets were found above:
Ticket 3166 --> https://svn.open-mpi.org/trac/ompi/ticket/3166
2012-08-10 21:19:47 +00:00
|
|
|
include "mpif-config.h"
|
|
|
|
include "mpif-constants.h"
|
|
|
|
include "mpif-handles.h"
|
|
|
|
#if OMPI_PROVIDE_MPI_FILE_INTERFACE
|
|
|
|
include "mpif-io-constants.h"
|
|
|
|
include "mpif-io-handles.h"
|
|
|
|
#endif
|
|
|
|
include "mpif-sentinels.h"
|
2004-10-29 15:30:03 +00:00
|
|
|
|
2014-01-23 01:28:04 +00:00
|
|
|
! The MPI attribute callback functions
|
2006-05-17 22:22:29 +00:00
|
|
|
|
2014-04-11 21:01:16 +00:00
|
|
|
include "ompi/mpi/fortran/base/attr-fn-int-callback-interfaces.h"
|
2006-05-17 21:31:04 +00:00
|
|
|
|
2014-01-23 01:28:04 +00:00
|
|
|
! The MPI_CONVERSION_FN_NULL function
|
2007-12-07 13:09:07 +00:00
|
|
|
|
2014-04-11 21:01:16 +00:00
|
|
|
include "ompi/mpi/fortran/base/conversion-fn-null-int-interface.h"
|
2007-12-07 13:09:07 +00:00
|
|
|
|
2014-07-10 19:10:03 +00:00
|
|
|
! Functions that have overloaded interfaces with TYPE(C_PTR) (which
|
|
|
|
! this compiler may or may not support). We use an "if" preprocessor
|
|
|
|
! macro in this file, so we need to use the preprocessor include
|
|
|
|
! directive, not the Fortran include.
|
|
|
|
#include "mpi-f90-cptr-interfaces.F90"
|
|
|
|
|
2005-04-13 11:54:36 +00:00
|
|
|
! This file is generated, and is *huge*. Its size is directly related
|
|
|
|
! to the --with-f90-max-array-dim configure parameter.
|
|
|
|
|
|
|
|
include "mpi-f90-interfaces.h"
|
2004-10-29 15:30:03 +00:00
|
|
|
|
|
|
|
end module mpi
|