(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