(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