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):
The attached patch does so. The original version has been added 8 months
- 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.)