Procedure pointer components

Syntax of a procedure pointer component
Read syntax diagramSkip visual syntax diagram
>>-PROCEDURE--(--+---------------------+--)--+-------------------------------------------+-->
                 '-procedure_interface-'     +-::----------------------------------------+   
                                             '-,--procedure_component_attr_spec_list--::-'   

>--procedure_entity_name--+---------------+--------------------><
                          '-=>--null_init-'   

procedure_interface

A declaration_type_spec or the name of a procedure that has an explicit interface. For more information, see Type Declaration.

If procedure_interface is a declaration_type_spec and the type specified is a parameterized derived type, all parameters used must be known at compile time.

procedure_component_attr_spec_list
Attributes from the following list:
  • POINTER
  • PASS
  • NOPASS
  • access_spec
procedure_entity_name
is the name of the procedure pointer that is being declared.
null_init
is a reference to the NULL intrinsic function.

The PASS attribute defines the passed-object dummy arguments of the type-bound procedure or procedure pointer component. When NOPASS is specified the procedure has no passed-object dummy argument.

PASS or NOPASS shall not both appear in the same procedure_component_attr_spec_list.

If the procedure pointer component has an implicit interface or has no arguments, NOPASS shall be specified.

If PASS(arg-name) appears, the interface shall have a dummy argument named arg-name which is the passed-object dummy arguments.

The passed-object dummy arguments must not be a pointer, must not be allocatable, and all its length type parameters must be assumed.

If neither PASS nor NOPASS is specified or PASS has no arg-name, the first dummy argument is the passed-object dummy argument.

POINTER must be present in each procedure_component_attr_spec_list.



Voice your opinion on getting help information Ask IBM compiler experts a technical question in the IBM XL compilers forum Reach out to us