Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
current as of this writing, I think), and NAG 5.2, although some
have limitations (e.g., NAG can't seem to handle the medium and
large sizes)
- Building the F90 "small" module size is now the default, even for
developers
- Split up mpif.h into multiple files because parts of it were toxic
to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
functionality was my main goal -- the XML can be updated later (if
at all).
This commit was SVN r10118.
2006-05-30 18:37:41 +04:00
|
|
|
! -*- fortran -*-
|
|
|
|
!
|
|
|
|
! Copyright (c) 2004-2006 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.
|
2009-05-27 16:46:04 +04:00
|
|
|
! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
current as of this writing, I think), and NAG 5.2, although some
have limitations (e.g., NAG can't seem to handle the medium and
large sizes)
- Building the F90 "small" module size is now the default, even for
developers
- Split up mpif.h into multiple files because parts of it were toxic
to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
functionality was my main goal -- the XML can be updated later (if
at all).
This commit was SVN r10118.
2006-05-30 18:37:41 +04:00
|
|
|
! University of Stuttgart. All rights reserved.
|
|
|
|
! Copyright (c) 2004-2005 The Regents of the University of California.
|
|
|
|
! All rights reserved.
|
2012-02-03 03:57:09 +04:00
|
|
|
! Copyright (c) 2006-2012 Cisco Systems, Inc. All rights reserved.
|
2013-07-23 19:36:03 +04:00
|
|
|
! Copyright (c) 2013 Los Alamos National Security, LLC. All rights
|
|
|
|
! reserved.
|
Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
current as of this writing, I think), and NAG 5.2, although some
have limitations (e.g., NAG can't seem to handle the medium and
large sizes)
- Building the F90 "small" module size is now the default, even for
developers
- Split up mpif.h into multiple files because parts of it were toxic
to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
functionality was my main goal -- the XML can be updated later (if
at all).
This commit was SVN r10118.
2006-05-30 18:37:41 +04:00
|
|
|
! $COPYRIGHT$
|
2009-05-27 16:46:04 +04:00
|
|
|
!
|
Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
current as of this writing, I think), and NAG 5.2, although some
have limitations (e.g., NAG can't seem to handle the medium and
large sizes)
- Building the F90 "small" module size is now the default, even for
developers
- Split up mpif.h into multiple files because parts of it were toxic
to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
functionality was my main goal -- the XML can be updated later (if
at all).
This commit was SVN r10118.
2006-05-30 18:37:41 +04:00
|
|
|
! Additional copyrights may follow
|
2009-05-27 16:46:04 +04:00
|
|
|
!
|
Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
current as of this writing, I think), and NAG 5.2, although some
have limitations (e.g., NAG can't seem to handle the medium and
large sizes)
- Building the F90 "small" module size is now the default, even for
developers
- Split up mpif.h into multiple files because parts of it were toxic
to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
functionality was my main goal -- the XML can be updated later (if
at all).
This commit was SVN r10118.
2006-05-30 18:37:41 +04:00
|
|
|
! $HEADER$
|
|
|
|
!
|
|
|
|
|
|
|
|
!
|
|
|
|
! This file contains the output from configure that is relevant for
|
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-11 01:19:47 +04:00
|
|
|
! Fortran applications and a few values that are necessary to
|
|
|
|
! compile the Fortran modules (e.g., MPI_STATUS_SIZE).
|
Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
current as of this writing, I think), and NAG 5.2, although some
have limitations (e.g., NAG can't seem to handle the medium and
large sizes)
- Building the F90 "small" module size is now the default, even for
developers
- Split up mpif.h into multiple files because parts of it were toxic
to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
functionality was my main goal -- the XML can be updated later (if
at all).
This commit was SVN r10118.
2006-05-30 18:37:41 +04:00
|
|
|
!
|
|
|
|
|
|
|
|
!
|
|
|
|
! OMPI version
|
|
|
|
! This file is generated from configure; do not edit it manually.
|
|
|
|
!
|
|
|
|
integer OMPI_MAJOR_VERSION, OMPI_MINOR_VERSION
|
|
|
|
integer OMPI_RELEASE_VERSION
|
|
|
|
parameter (OMPI_MAJOR_VERSION=@OMPI_MAJOR_VERSION@)
|
|
|
|
parameter (OMPI_MINOR_VERSION=@OMPI_MINOR_VERSION@)
|
|
|
|
parameter (OMPI_RELEASE_VERSION=@OMPI_RELEASE_VERSION@)
|
|
|
|
!
|
|
|
|
! Kind parameters
|
2009-05-27 16:46:04 +04:00
|
|
|
!
|
Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
current as of this writing, I think), and NAG 5.2, although some
have limitations (e.g., NAG can't seem to handle the medium and
large sizes)
- Building the F90 "small" module size is now the default, even for
developers
- Split up mpif.h into multiple files because parts of it were toxic
to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
functionality was my main goal -- the XML can be updated later (if
at all).
This commit was SVN r10118.
2006-05-30 18:37:41 +04:00
|
|
|
integer MPI_OFFSET_KIND, MPI_ADDRESS_KIND, MPI_INTEGER_KIND
|
2013-07-23 19:36:03 +04:00
|
|
|
integer MPI_COUNT_KIND
|
Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
current as of this writing, I think), and NAG 5.2, although some
have limitations (e.g., NAG can't seem to handle the medium and
large sizes)
- Building the F90 "small" module size is now the default, even for
developers
- Split up mpif.h into multiple files because parts of it were toxic
to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
functionality was my main goal -- the XML can be updated later (if
at all).
This commit was SVN r10118.
2006-05-30 18:37:41 +04:00
|
|
|
parameter (MPI_INTEGER_KIND=@OMPI_MPI_INTEGER_KIND@)
|
|
|
|
parameter (MPI_ADDRESS_KIND=@OMPI_MPI_ADDRESS_KIND@)
|
|
|
|
parameter (MPI_OFFSET_KIND=@OMPI_MPI_OFFSET_KIND@)
|
2013-07-23 19:36:03 +04:00
|
|
|
parameter (MPI_COUNT_KIND=@OMPI_MPI_COUNT_KIND@)
|
2009-05-27 16:46:04 +04:00
|
|
|
!
|
Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
current as of this writing, I think), and NAG 5.2, although some
have limitations (e.g., NAG can't seem to handle the medium and
large sizes)
- Building the F90 "small" module size is now the default, even for
developers
- Split up mpif.h into multiple files because parts of it were toxic
to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
functionality was my main goal -- the XML can be updated later (if
at all).
This commit was SVN r10118.
2006-05-30 18:37:41 +04:00
|
|
|
! Miscellaneous constants
|
2009-05-27 16:46:04 +04:00
|
|
|
!
|
Bring over changes from the /tmp/fortran-stuff series:
- Make the F90 bindings compile and link properly with gfortran 4.0,
4.1, Intel 9.0, PGI 6.1, Sun (don't know version offhand -- the most
current as of this writing, I think), and NAG 5.2, although some
have limitations (e.g., NAG can't seem to handle the medium and
large sizes)
- Building the F90 "small" module size is now the default, even for
developers
- Split up mpif.h into multiple files because parts of it were toxic
to the F90 bindings
- Properly specify unsized/unshaped arrays to make the bindings work
on all known compilers
- Make ompi_info show Fortran 90 bindings size
- XML somewhat lags the generated scripts as of this commit, but
functionality was my main goal -- the XML can be updated later (if
at all).
This commit was SVN r10118.
2006-05-30 18:37:41 +04:00
|
|
|
integer MPI_STATUS_SIZE
|
2010-07-22 06:23:47 +04:00
|
|
|
parameter (MPI_STATUS_SIZE=@OMPI_FORTRAN_STATUS_SIZE@)
|
2009-05-27 16:54:40 +04:00
|
|
|
!
|
|
|
|
! Configurable length constants
|
|
|
|
!
|
|
|
|
integer MPI_MAX_PROCESSOR_NAME
|
|
|
|
integer MPI_MAX_ERROR_STRING
|
|
|
|
integer MPI_MAX_OBJECT_NAME
|
2012-02-03 03:57:09 +04:00
|
|
|
integer MPI_MAX_LIBRARY_VERSION_STRING
|
2009-05-27 16:54:40 +04:00
|
|
|
integer MPI_MAX_INFO_KEY
|
|
|
|
integer MPI_MAX_INFO_VAL
|
|
|
|
integer MPI_MAX_PORT_NAME
|
|
|
|
integer MPI_MAX_DATAREP_STRING
|
|
|
|
parameter (MPI_MAX_PROCESSOR_NAME=@OPAL_MAX_PROCESSOR_NAME@-1)
|
|
|
|
parameter (MPI_MAX_ERROR_STRING=@OPAL_MAX_ERROR_STRING@-1)
|
|
|
|
parameter (MPI_MAX_OBJECT_NAME=@OPAL_MAX_OBJECT_NAME@-1)
|
2012-02-03 03:57:09 +04:00
|
|
|
parameter (MPI_MAX_LIBRARY_VERSION_STRING=256-1)
|
2009-05-27 16:54:40 +04:00
|
|
|
parameter (MPI_MAX_INFO_KEY=@OPAL_MAX_INFO_KEY@-1)
|
|
|
|
parameter (MPI_MAX_INFO_VAL=@OPAL_MAX_INFO_VAL@-1)
|
|
|
|
parameter (MPI_MAX_PORT_NAME=@OPAL_MAX_PORT_NAME@-1)
|
|
|
|
parameter (MPI_MAX_DATAREP_STRING=@OPAL_MAX_DATAREP_STRING@-1)
|
2014-01-31 19:22:12 +04:00
|
|
|
|
|
|
|
!
|
|
|
|
! MPI F08 conformance
|
|
|
|
!
|
|
|
|
logical MPI_SUBARRAYS_SUPPORTED
|
|
|
|
logical MPI_ASYNC_PROTECTS_NONBLOCKING
|
|
|
|
parameter (MPI_SUBARRAYS_SUPPORTED=@OMPI_FORTRAN_SUBARRAYS_SUPPORTED@)
|
|
|
|
! Hard-coded for .false. for now
|
|
|
|
parameter (MPI_ASYNC_PROTECTS_NONBLOCKING = .false.)
|
|
|
|
|