Jeff Squyres
d7eaca83fa
Fortran: Fix MPI_SIZEOF. What a disaster. :-(
...
What started as a simple ticket ended up reaching the way up to the
MPI Forum.
It turns out that we are supposed to have MPI_SIZEOF for all Fortran
interfaces: mpif.h, the mpi module, and the mpi_f08 module.
It further turns out that to properly support MPI_SIZEOF, your Fortran
compiler *has* support the INTERFACE keyword and ISO_FORTRAN_ENV. We
can't use "ignore TKR" functionality, because the whole point of
MPI_SIZEOF is that the implementation knows what type was passed to it
("ignore TKR" functionality, by definition, throws that information
away). Hence, we have to have an MPI_SIZEOF interface+implementation
for all intrinsic types, kinds, and ranks.
This commit therefore adds a perl script that generates both the
interfaces and implementations for MPI_SIZEOF in each of mpif.h, the
mpi module, and mpi_f08 module (yay consolidation!).
The perl script uses the results of some new configure tests:
* check if the Fortran compiler supports the INTERFACE keyword
* check if the Fortran compiler supports ISO_FORTRAN_ENV
* find the max array rank (i.e., dimension) that the compiler supports
If the Fortran compiler supports both INTERFACE and ISO_FORTRAN_ENV,
then we'll build the MPI_SIZEOF interfaces. If not, we'll skip
MPI_SIZEOF in mpif.h and the mpi module. Note that we won't build the
mpi_f08 module -- to include the MPI_SIZEOF interfaces -- if the
Fortran compiler doesn't support INTERFACE, ISO_FORTRAN_ENV, and a
whole bunch of ther modern Fortran stuff.
Since MPI_SIZEOF interfaces are now generated by the perl script, this
commit also removes all the old MPI_SIZEOF implementations (which were
laden with a zillion #if blocks).
cmr=v1.8.3
This commit was SVN r32764.
2014-09-19 13:44:52 +00:00
..
2014-09-19 13:44:52 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-08-28 23:47:38 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-07-10 00:06:00 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2013-07-02 11:33:18 +00:00
2013-07-02 11:33:18 +00:00
2013-07-02 11:33:18 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2013-10-02 18:42:04 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2013-10-02 18:42:04 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-03-27 21:41:59 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2013-10-02 18:42:04 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-03-27 21:41:59 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-03-11 23:02:27 +00:00
2012-04-18 15:57:29 +00:00
2014-06-05 17:10:48 +00:00
2014-06-05 17:10:48 +00:00
2014-05-16 22:23:52 +00:00
2014-05-16 22:23:52 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-08-10 21:19:47 +00:00
2014-03-11 23:02:27 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-05-15 15:15:33 +00:00
2012-05-15 19:51:15 +00:00
2012-05-15 15:15:33 +00:00
2012-04-18 15:57:29 +00:00
2012-05-15 15:15:33 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-04-18 15:57:29 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-04-18 15:57:29 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-04-18 15:57:29 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-04-18 15:57:29 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-03-11 23:02:27 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2013-09-28 12:31:56 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-12-13 15:03:48 +00:00
2012-04-18 15:57:29 +00:00
2012-07-02 16:15:44 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-05-16 22:23:52 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-06-22 20:54:12 +00:00
2012-06-22 20:54:12 +00:00
2012-06-22 20:54:12 +00:00
2012-06-22 20:54:12 +00:00
2012-06-22 20:54:12 +00:00
2012-06-22 20:54:12 +00:00
2012-07-19 21:29:18 +00:00
2012-06-22 20:54:12 +00:00
2012-04-18 15:57:29 +00:00
2012-06-22 20:54:12 +00:00
2012-06-22 20:54:12 +00:00
2012-06-22 20:54:12 +00:00
2012-10-04 14:39:51 +00:00
2012-04-18 15:57:29 +00:00
2013-09-26 21:55:08 +00:00
2013-09-26 21:55:08 +00:00
2013-09-26 21:55:08 +00:00
2013-09-26 21:55:08 +00:00
2013-09-26 21:55:08 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-08-14 23:10:21 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-10-04 14:39:51 +00:00
2012-04-18 15:57:29 +00:00
2012-06-22 20:54:12 +00:00
2012-07-02 16:15:44 +00:00
2012-06-22 20:54:12 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-06-22 20:54:12 +00:00
2012-06-22 20:54:12 +00:00
2012-06-22 20:54:12 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-09-19 13:44:52 +00:00
2012-10-04 14:39:51 +00:00
2012-10-04 14:39:51 +00:00
2013-09-26 21:55:08 +00:00
2013-09-26 21:55:08 +00:00
2013-09-26 21:55:08 +00:00
2013-09-26 21:55:08 +00:00
2013-09-26 21:55:08 +00:00
2012-04-18 15:57:29 +00:00
2012-08-14 23:13:32 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-10-04 14:39:51 +00:00
2014-08-14 20:27:30 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-03-11 23:02:27 +00:00
2012-10-04 14:39:51 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-07-02 16:15:44 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-03-11 23:02:27 +00:00
2014-03-11 23:02:27 +00:00
2014-03-11 23:02:27 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2013-10-22 14:55:17 +00:00
2013-10-22 14:55:17 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2013-09-28 12:31:56 +00:00
2012-10-04 14:39:51 +00:00
2012-04-18 15:57:29 +00:00
2012-08-14 23:13:32 +00:00
2012-08-24 16:12:01 +00:00
2012-08-24 16:12:01 +00:00
2012-08-24 16:12:01 +00:00
2012-10-04 14:39:51 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-08-08 13:17:57 +00:00
2014-03-12 13:17:54 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2013-09-28 12:31:56 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2013-09-28 12:31:56 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2013-09-28 12:31:56 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-08-24 16:12:01 +00:00
2012-08-24 16:12:01 +00:00
2012-08-24 16:12:01 +00:00
2014-07-09 00:10:04 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-03-11 23:02:27 +00:00
2014-03-11 23:02:27 +00:00
2014-03-11 23:02:27 +00:00
2014-03-11 23:02:27 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-08-14 20:27:30 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2014-07-09 00:10:04 +00:00
2012-04-18 15:57:29 +00:00
2014-08-14 20:27:30 +00:00
2012-04-18 15:57:29 +00:00
2014-08-14 20:27:30 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00
2012-04-18 15:57:29 +00:00