## 8.9.1 Determining When Procedures Require Explicit Interfaces

A procedure must have an explicit interface in the following cases:

- If the procedure has any of the following:
  - An optional dummy argument
  - A dummy argument that is an assumed-shape array, a pointer, or a target
  - A result that is array-valued or a pointer (functions only)
  - A result whose length is neither assumed nor a constant (character functions only)
  - A dummy argument that appears in a High Performance Fortran (HPF) data mapping directive
- If a reference to the procedure appears as follows:
  - With an argument keyword
  - As a reference by its generic name
  - As a defined assignment (subroutines only)
  - In an expression as a defined operator (functions only)
  - In a context that requires it to be pure
- If the procedure is elemental

For More Information:

- On optional arguments, see Section 8.8.1.
- On argument keywords in subroutine references, see Section 7.2.
- On argument keywords in function references, see Section 8.5.2.2.
- On user-defined generic procedures, see Section 8.9.3.
- On defined operators, see Section 8.9.4.
- On defined assignment, see Section 8.9.5.
- On array arguments, see Section 8.8.2.
- On pointer arguments, see Section 8.8.3.
- On pure procedures, see Section 8.5.1.2.
- On elemental procedures, see Section 8.5.1.3.
- On explicit interfaces when calling other languages, see your user manual or programmer's guide.

Previous Page Next Page Table of Contents