(j3.2006) Characteristics of <initial-proc-target>

Malcolm Cohen malcolm
Sun Mar 24 20:37:49 EDT 2013

>For a procedure declaration statement requires that the
>characteristics of <initial-proc-target> be the same as
><procedure-entity-name> if <procedure-entity-name> has explicit
>interface, except that <initial-proc-target> can be pure even if
><procedure-entity-name> is not.

Yes.  This is exactly the same requirement that we have for procedure pointer 
assignment, at

>The VOLATILE attribute is a characteristic of dummy arguments, and
>therefore a characteristic of procedures.  This seems to require that a
>dummy argument of <initial-proc-target> has the VOLATILE attribute if
>and only if the corresponding dummy argument of <procedure-entity-name>
>has it.
>The same observation applies to the ASYNCHRONOUS attribute.  Maybe also
>to CONTIGUOUS, since it doesn't require explicit interface.
>This seems to be a bit weird.

Not at all.

>Perhaps the requirement should only include dummy argument
>characteristics that require explicit interface.

It would be extremely odd if the requirements for initial pointer association 
were not at least as strong as those for pointer assignment.

Note that the same considerations apply to a whole raft of procedure 
characteristics, like number of arguments for starters.  And the data types of 
the arguments.  There is nothing special about VOLATILE or ASYNCHRONOUS here. 
Of course these requirements are unsuitable for "constraintization", but so are 
many of our requirements.

................................Malcolm Cohen, Nihon NAG, Tokyo. 

More information about the J3 mailing list