(j3.2006) (SC22WG5.5239) J3 Fortran interp letter ballot #30 - due 13-Jun-2014

Robert Corbett robert.corbett
Sat Jun 7 07:16:21 EDT 2014

The following Fortran interpretations are being balloted:

Yes  No   Number     Title

-Y-  ---  F08/0099   VOLATILE in specification expressions
-Y-  ---  F08/0100   IMPORT statement and prior explicit declaration
-Y-  ---  F08/0101   NAMELIST and multiple occurrences of a variable
-C-  ---  F08/0102   MERGE and polymorphism
---  -N-  F08/0103   Pointers to internal procedures with different
                      host instances
-Y-  ---  F08/0104   IEEE Inquiry Functions
-Y-  ---  F08/0105   Is the ASYNCHRONOUS attribute allowed with the
                      VALUE attribute?
-Y-  ---  F08/0106   MOVE_ALLOC for a remote array

F08/0102 C

The answers given agree with what the text of the Fortran 2008
standard says.  I think the language would be better if MERGE
were defined differently, but such a change should not be done
as part of an interpretation.  I do not think the edit is
necessary, but I agree to its inclusion for the sake of clarity.

I am slightly bothered by answer A2.  It states "Only MERGE
invocation E is polymorphic."  The code shown is not standard
conforming, for reasons given in answer A3, and so it is
questionable if it is polymorphic or not.

F08/0103 N

The answer given prohibits certain optimizations for little gain.
An internal procedure that does not reference any variables or
procedures in the host scope that are bound to a particular host
instance could be implemented more efficiently if the standard
made the result of ASSOCIATED with two arguments that are
procedures undefined if those procedures are different instances
of an internal procedure.  I see little use for the two argument
form of ASSOCIATED where the arguments are procedures.  I see
even less use for it when the two arguments refer to the same
internal procedure.


Robert Corbett
representing Oracle America

More information about the J3 mailing list