Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] [Patch] For Fortran, support GCC/gfortran 4.9's TYPE(*) with NO_ARG_CHECK
From: Tobias Burnus (burnus_at_[hidden])
Date: 2014-01-07 16:18:53


Hello,

I'd like to see the following patch to be included in Open MPI, which
enabled interface checking also with GCC's gfortran.

While TYPE(*), DIMENSION(*) is already tested for, it cannot be used for
scalars (and "TYPE(*)" cannot be used with arrays). [Those were added in
GCC 4.8, which diagnoses the rank mismatch. Fortran 2015 (?) will add
support for both scalars and dimensions.]

In GCC 4.9, gfortran joins other compilers by supporting a directive
which disables the argument check (type, kind, rank checking: TKR):
NO_ARG_CHECK.

The attached patch does so. The original version has been added 8 months
ago to
https://bitbucket.org/jsquyres/mpi3-fortran/commits/243ffae9f63ffc8fcdfdc604796ef290963ea1c4
- but as it hasn't been merged to the Open MPI, I submit it with this
email (rediffed with some additional cases).

I'd be delighted if the patch could be applied to the trunk - and
possibly even be backported to 1.7. (I think it also applies to 1.6 but
I haven't checked.)

Tobias