(j3.2006) (SC22WG5.5472) J3/15-159 - J3 Fortran interp letter ballot #33 - due 24-Apr-2015

Bill Long longb
Thu Apr 23 13:55:57 EDT 2015

On Mar 29, 2015, at 11:41 AM, Whitlock, Stan <stan.whitlock at intel.com> wrote:

>                                                         J3/15-159
> To:           J3 Members
> From:      Stan Whitlock
> Subject:   J3 Fortran interp letter ballot #33 - due 24-Apr-2015
> Date:       2015 March 29

The following Fortran interpretations are being balloted:
Yes  No   Number    Title
-Y-  ---  F08/0126  Can cobounds be referenced in the same type
-Y-  ---  F08/0127  May an initial line begin with a semicolon?

---  -N-  F08/0128  Is recursive USE within a submodule permitted?

-Y-  ---  F08/0129  Is CLASS(type) required to refer to a prior type
-Y-  ---  F08/0130  Does coarray allocation sync even with stopped
-Y-  ---  F08/0131  Are the changes to C_LOC in the 2010 revision
-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
-Y-  ---  F08/0136  Argument correspondence with VALUE and
---  -N-  F08/0137  Result of TRANSFER when MOLD is an array with
                                  element size zero

Comment for F08/0128:

The discussion in this interp illustrates why the argument in 09-141
was wrong. I think a better answer for this interp is that passing
09-141 was a mistake and it is being corrected by reinstating the
prohibition on a submodule using its ancestor.  An alternative, but
equivalent answer, is that there is no rational reason to allow use of
its ancestor module in a submodule, and the failure to prohibit this
is an error in the standard.

Comment for F08/0137:

The answer for Example 7 is nominally wrong since the example has a
declaration of a dummy argument (source4) that includes
initialization. That is sufficient to make the example
non-conforming. The example code can be repaired by changing the
declaration of source4 to something like this:

CHARACTER(999) :: source4(10) = REPEAT('!',999) ! Ditto.

which seems to preserve the intent of the question while avoiding the
error. With this change, I'd change my vote to Yes.  I'll leave it to
/Interp to decide whether J3 needs to revote a corrected version of the
interp (since others have already voted on the current wording), or
just fix it and send it on to WG5.


Bill Long                                                                       longb at cray.com
Fortran Technical Suport  &                                  voice:  651-605-9024
Bioinformatics Software Development                     fax:  651-605-9142
Cray Inc./ Cray Plaza, Suite 210/ 380 Jackson St./ St. Paul, MN 55101

More information about the J3 mailing list