(j3.2006) (SC22WG5.5556) WG5 straw ballot 9 on Fortran 2008 interpretations
Robert Corbett
robert.corbett
Sun Aug 23 05:46:15 EDT 2015
The following Fortran 2008 interpretations are being balloted:
Yes No Number Title
-C- --- F08/0105 Is the ASYNCHRONOUS attribute allowed with the
VALUE attribute?
-Y- --- F08/0110 Interdependence of specifier values in input/output
statements
-Y- --- F08/0115 ASYNCHRONOUS and argument passing
-Y- --- F08/0116 Interoperable procedures
-Y- --- F08/0117 TARGET and coindexed arguments
-Y
-Y- --- F08/0118 Subobject of variable in variable definition context
-Y- --- F08/0119 Branching to END BLOCK and END CRITICAL
-C- --- F08/0120 Is the name of a procedure pointer a local identifier?
-Y- --- F08/0121 Add to introduction defined operations in specification
Y exprs
-Y- --- F08/0122 Types with coarray components
-Y- --- F08/0123 SPACING intrinsic
-Y- --- F08/0124 Coindexed object with polymorphic subcomponent
-Y- --- F08/0126 Can cobounds be referenced in the same type
declaration?
-Y- --- F08/0127 May an initial line begin with a semicolon?
-C- --- F08/0129 Is CLASS(type) required to refer to a prior type
definition?
-Y- --- F08/0130 Does coarray allocation sync even with stopped
Y images?
-Y- --- F08/0131 Are the changes to C_LOC in the 2010 revision
intentional?
-Y- --- F08/0132 Can a procedure pointer be declared with an
interface block?
-Y- --- F08/0133 Is unallocated actual associated with
nonallocatable dummy OK?
-Y- --- F08/0134 <stat-variable> in an image control statement
-Y- --- F08/0135 Vector subscripted actual makes VALUE dummy
undefinable?
-Y- --- F08/0136 Argument correspondence with VALUE and
ASYNCHRONOUS
-Y- --- F08/0137 Result of TRANSFER when MOLD is an array with
element size zero
----------------------------------------------------------------------
F08/0105 C
The second sentence of the last paragraph of the ANSWER makes an
incorrect assertion. The sentence asserts that the cites subclause
"prohibits an actual argument that is part of a pending input/output
storage sequence affector from being associated with a dummy argument
that has the value attribute.". The cited subclause explicitly
states that the prohibition applies "for asynchronous input." The
preceding paragraph (9.6.4.1, paragraph 5 [220:11-12]) assumes such
associations are permitted for asynchronous output.
----------------------------------------------------------------------
F08/0120 C
The answer given is fine, indeed obvious. The proposed edit could be
improved. It would be better to list procedure pointers with the
other categories of procedures. Also, there is no reason to call
them "named procedure pointers". If an identifier identifies a
procedure pointer, that procedure pointer is necessarily a named
procedure pointer. A better edit is
[440:6, 16.3.1p1] Replace
"external procedures that have binding labels, intrinsic modules"
with
"external procedures that have binding labels, procedure pointers,
intrinsic modules"
----------------------------------------------------------------------
F08/0129
The restrictions requiring CLASS and TYPE specifiers to refer to
previously defined derived types are not necessary. One might argue
that the restrictions force programmers to write clearer code, but
the complexity of what is a allowed makes such arguments weak.
Given the complexity compilers for Fortran are currently required to
handle, handling CLASS and TYPE specifiers that refer to later defined
derived types would not add a significant burden to those compilers.
Removal of the restrictions should be considered for a later revision
of the Fortran standard.
----------------------------------------------------------------------
Robert Corbett
representing Oracle America
More information about the J3
mailing list