(j3.2006) (SC22WG5.5061) [WG5 letter ballot 6 on Fortran 2008 interpretations]

Van Snyder Van.Snyder
Mon Aug 5 20:13:43 EDT 2013


                                             ISO/IEC JTC1/SC22/WG5 N1988

          WG5 letter ballot 6 on Fortran 2008 interpretations
                      John Reid, 4 August 2013

This is the sixth WG5 vote on a set of draft interpretations for
Fortran 

2008. They have all been approved in a J3 letter ballot.  

The following Fortran 2008 interpretations are being balloted:

Yes  No Number     Title

-Y-  ---  F03/0030   IEEE divide by zero
-Y-  ---  F03/0047   Polymorphic arguments to intrinsic procedures
-Y-  ---  F03/0053   The BIND attribute for C_PTR and C_FUNPTR
-Y-  ---  F03/0064   Recursive declaration of procedure interfaces
-Y-  ---  F03/0100   Error in field width for special cases of signed
                     INFINITY output
---  -N-  F03/0139   Functions returning procedure pointers

                     In the edit for [278:11], "... function result if
                     it is a function" seems a bit redundant.  Would
                     "... function result" be good enough?  If the
                     procedure is a subroutine, it can't have a
                     function result.

                     In the edit for [310:5-6], the term "result
                     names" is used.  In other edits, the term
                     "function result" is used instead of simply
                     "result".  Should "result names" here be "function
                     result names", for consistency?

                     [310:6-7] appears to imply that a function
                     subprogram cannot define two functions that have
                     procedure pointer results with different
                     characteristics, or some that have procedure
                     pointer results and others that have data object
                     results (because a procedure pointer cannot be
                     storage associated with another one, or with a
                     variable).

                     This ought to be clarified or repaired.

                     If these are considered to be fodder for a different
                     interpretation request, rather than further work
                     necessary for the present one, this mark on my ballot
                     can be changed to "yes with comment."

                     The edit for [170:23+] could more economically combine
                     the requirement with C804: "<expr> shall not be a
                     variable or a function reference that returns a
                     procedure pointer."

-Y-  ---  F08/0071   Vector subscript target
-Y-  ---  F08/0075   Pointer function reference as variable in assignment
-Y-  ---  F08/0076   Pointer function reference in READ
                     Subsumed by F07/0075
-Y-  ---  F08/0083   Type parameter default expressions allow circular
                     dependence
-Y-  ---  F08/0084   Pointer arguments to PURE functions
-Y-  ---  F08/0085   Problems with PARAMETERs
-C-  ---  F08/0086   Implied-shape and separate PARAMETER statement

                     For the archive, in the question, replace "conforms
                     to Fortran 77 to Fortran 2008" with something like
                     "conforms to Fortran 77 through Fortran 2008" or
                     "conforms to all Fortran standards from 2007 to 2008".

-Y-  ---  F08/0087   Mixed-kind character assignment
-Y-  ---  F08/0088   Can ALLOCATE with SOURCE= have side-effects in a
                     PURE proc?
-C-  ---  F08/0089   Variable-denoting functions change existing
                     semantics

                     The term "pointer function" is not used as a noun,
                     although "nonpointer function" is so used at [454:36].
                     I have a slight preference that "pointer function" in
                     the edit for [24:11+] be replaced by "function that
                     returns a pointer result" in both paragraphs.  The
                     same change ought to be made in the edits for [24:27+]
                     and [25:6+]

                     A parallel change ought to be made at [454:36], but
                     that can be done editorially rather than within this
                     interpretration.

---  -N-  F08/0090   What restrictions apply to initialization and
                     PARAMETER?

                     One might argue that type, type parameters, and
                     shape are covered by 5.2.3p1.  In the examples,
                     the <constant-expr> cannot be "converted according
                     to the rules for intrinsic assignment."  Since this
                     is impossible, no interpretation is established, and
                     the examples are not conformant, and therefore no
                     edits are needed.

                     On the other hand, the description of the conversion
                     in 5.2.3p1 needs to have some attention to cover the
                     implied-shape case.

The text of these interpretations is in N1987.  Each interpretation
starts there with a row of "-"s.

Please mark the above -Y- in the Yes column for "yes", -C- in the Yes
column for "yes with comment", or -N- in the No column for a "no"
answer {be sure to include your reasons with "no"} and send to

        sc22wg5 at open-std.org

by 0900 UK time on Monday, 2 September 2013, in order to be counted.

Thanks,

John.                         





More information about the J3 mailing list