Intel® Fortran Compiler

Developer Guide and Reference

ID 767251
Date 6/30/2025
Public
Document Table of Contents

Instance of a Procedure

An instance of a procedure defined by a subprogram is created when that procedure is invoked. An instance has its own set of dummy arguments, execution sequence, unsaved local variables, and unsaved local procedure pointers. Saved entities are shared by all instances of that subprogram.

An instance of a statement function is created when a statement function is invoked.

When an instance of a procedure completes execution, that instance no longer exists.

The caller of an instance of a procedure is the main program, subprogram, or statement function that invokes that instance of the procedure. The call sequence of an instance of a procedure is its caller, followed by its caller's call sequence. The call sequence of the main program is empty, as it is the main program that begins execution of the program. The host instance of an internal procedure or a statement function that is invoked by name is the first element of the call sequence that is an instance of the host of that internal procedure or statement function. The host instance of an internal procedure invoked by a procedure pointer of a dummy procedure is the host instance of the associating entity from where the pointer association or argument association was established. The host instance of a module procedure is the module or submodule where it was defined. The main program and external subprograms have no host instance.