(j3.2006) Select Rank
Wed Feb 18 16:03:50 EST 2015
Bill Long wrote:
> In general (my opinion) a Fortran program that requires preprocessing, or uses included files (either spelling), or has a build process that is anything beyond a simple make file is most likely poorly designed.
We have #ifdef in about five places in our modestly-large code. The
only reason for it was to change some assumed-shape arrays to
assumed-size arrays, because one processor insisted on taking a copy of
an actual argument associated with an assumed-shape dummy, where the
actual argument is a pointer or assumed-shape dummy argument, without
checking whether the actual argument was contiguous. We only changed a
few places, because that's all our profiler told us to do. We don't use
that processor any more, so we could in principle remove the #ifdef's.
The CONTIGUOUS attribute would eliminate the need for them.
More information about the J3