(j3.2006) Characteristics of <initial-proc-target>
Van Snyder
Van.Snyder
Mon Mar 25 14:10:15 EDT 2013
Since VOLATILE and ASYNCHRONOUS apply only in the scoping unit where
they are declared, it seems a bit weird that we would apply any
conditions concerning them on the relationship of actual and dummy
arguments, or on the relationship of procedure pointers and their
targets.
Did we intend it, or are the indirect requirements to match those
attributes simply an oversight?
On Mon, 2013-03-25 at 09:37 +0900, Malcolm Cohen wrote:
> >For a procedure declaration statement 12.4.3.6p7 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 7.2.2.4p3.
>
> >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.
>
> Cheers,
More information about the J3
mailing list