next up previous contents
Next: Distributions and Processor Arrangements Up: Data Mapping in Subprogram Interfaces Previous: Introduction

What Remapping Is Required and Who Does It

If there is an explicit interface for the called subprogram and that interface contains prescriptive or descriptive mapping directives for a dummy argument, and if a remapping of the corresponding actual argument is necessary, the call should proceed as if the data were copied to a temporary variable to match the mapping of the dummy argument as expressed by the directives in the explicit interface. The template of the dummy will then be as declared in the interface.

If there is no explicit interface, then no remapping will be necessary; this is a consequence of the requirements in Section 4.6.

The reader should note that for reasons of brevity, not all such required explicit interfaces are included in the code fragments in this Section.

An overriding principle is that any remapping of arguments is not visible to the caller. That is, when the subprogram returns and the caller resumes execution, all objects accessible to the caller after the call are mapped exactly as they were before the call. It is not possible for a procedure to change the mapping of any object in a manner visible to its caller.