(j3.2006) (SC22WG5.5428) WG5 straw ballot 8 on Fortran 2008 interpretations

Robert Corbett robert.corbett
Sat Jan 24 04:35:07 EST 2015


The following Fortran 2008 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
-Y-  --- F08/0102   MERGE and polymorphism
-C-  --- F08/0103   Pointers to internal procedures with different host
                     instances
-Y-  --- F08/0104   IEEE Inquiry Functions
-Y-  --- F08/0106   MOVE_ALLOC for a remote array
-Y-  --- F08/0108   ultimate components and coarrays
-Y-  --- F08/0112   STAT= and ERRMSG= in ALLOCATE and DEALLOCATE
-Y-  --- F08/0113   Specifiers in image control statements

-----------------------------------------------------
F08/0103 C

The answer given requires processors to use less efficient implementations
of procedure pointers that target internal procedures and actual arguments
that are internal procedures than is necessary.  Allowing the two
argument form of the intrinsic function ASSOCIATED to take procedure
arguments effectively banned some optimizations, but at least a case
can be made for doing so.  Requiring ASSOCIATED to return .FALSE. in the
case where the arguments ultimately reference different instances of the
same internal procedure prohibits a processor from taking advantage of the
special case where the internal procedure references only statically
allocated variables in the host scoping unit.  I cannot think of a case
where such semantics are useful.  If the answer had been that the result
returned by ASSOCIATED is undefined when both arguments reference the same
internal procedure, more efficient implementations would be possible.

Nonetheless, I do not oppose the interpretation.  The new semantics given by
the interpretation should at least be implementable for processors where
pointers to internal procedures are allowed.

Robert Corbett



More information about the J3 mailing list