Next: Examples
Up: Data Mapping in Subprogram Interfaces
Previous: What Remapping Is Required
In a DISTRIBUTE directive where every distributee is
a dummy argument, either the dist-format-clause or the
dist-target, or both, may begin with, or consist of, an
asterisk.
- Without an asterisk, a dist-format-clause or
dist-target is prescriptive; the clause describes a
distribution and constitutes a request of the language processor to
make it so. This might require (the implementation of) either the
caller or the called subprogram to remap or copy the actual argument
on entry at run time in order to satisfy the requested distribution
for the dummy.
- Starting with an asterisk, a dist-format-clause or
dist-target is descriptive. Such a directive is equivalent
in every respect to a prescriptive directive, except that if the
compiler cannot verify that no remapping of the actual is required,
it may issue a diagnostic message to that effect. See
Section 4.1 for further information on this
point.
- Consisting of only an asterisk, a dist-format-clause or
dist-target is transcriptive; the clause says nothing about
the distribution but constitutes a request to the language processor
to copy that aspect of the distribution from that of the actual
argument. (The intent is that if the argument is passed by
reference, no movement of the data will be necessary at run time.)
It is possible that, in a single DISTRIBUTE directive, the
dist-format-clause might have an asterisk but not the
dist-target, or vice versa.