(j3.2006) (SC22WG5.5624) Interpretations straw ballot 11

Bill Long longb
Wed Dec 23 16:45:31 EST 2015


WG5 straw ballot 11 and J3 letter ballot 35 on Fortran 2008 interpretations
                      John Reid, 19 December 2015


The following Fortran 2008 interpretations are being balloted:

Yes  No   Number     Title		 
-Y-  --- F08/0128 Is recursive USE within a submodule permitted?
-C-  --- F08/0138 Type extension in submodules
-C-  --- F08/0139 Is the name of an external procedure that has a
                  binding label a local identifier?
-C-  --- F08/0140 Assign to deferred-length coindexed character variable
-C-  --- F08/0141 Can a statement function have a variable-length PDT
                  result?
-Y-  --- F08/0142 Is useless module extension permitted?
-C-  --- F08/0143 May a pure procedure have an INTENT(OUT) polymorphic
                  component?
-C-  --- F08/0144 Is nonadvancing I/O allowed during execution of DO
                  CONCURRENT?
					 

Comment for F08/0138:
---------------------

In the Question, replace "C456 in 007r1 reads" by "C465 in 10-007r1
reads". 

{Fix typo in the constraint number, and be more precise about the
document number - there have been lots of 007r1's.}


Comment for F08/0139:
---------------------

In the Question, replace "Consider the program fragment" by "Consider
the program fragment containing the external subprograms".

{Clarify that these subprograms could not be internal or module
subprograms, with wording suggested by Malcolm Cohen. Alternatively,
include a complete program as the example, such as:


 Subroutine s() Bind(C,Name='Hello')
     Print *,'Hello'
 End Subroutine
 Subroutine s() Bind(C,Name='World')
   Print *,'World'
 End Subroutine

 subroutine sub_hello ()
   interface
     Subroutine s() Bind(C,Name='Hello')
     End Subroutine
   end interface

   call s()
 end subroutine sub_hello

 subroutine sub_world ()
   interface
     Subroutine s() Bind(C,Name='World')
     End Subroutine
   end interface

   call s()
 end subroutine sub_world

program test
  call sub_hello()
  call sub_world()
end program test

}


Comment for F08/0140:
---------------------

At the end of Q2, add a line

"Is the assignment permitted?"

{Since Q2 is not currently an actual "question", the answer is a bit
vague about what is "intended to be permitted".}


Comment for F08/0141:
---------------------

The first Edit should be at [24:11+] (and not at [22:11+]).

{And hence in the stated subclause. I assume previous changes have
removed or modified the last sentence of the previous paragraph in
10-007r1 "Any standard-conforming Fortran 2003 ... 1539".}


Comment for F08/0143:
---------------------

In the example code of the Question change 

  Type(t),Intent(Out) x

to

  Type(t),Intent(Out) :: x

{Syntax rule R501. Agreeing with the comment of Erik Kruyt.}


Comment for F08/0144:
---------------------

In program P for Q1, replace 

      write ( *, *, advance='NO' ) I

by

      write ( *, '(I5)', advance='NO' ) I


{Constraint C922 requires an "explicit format
specification". Recommending the alternate version suggested by Erik
Kruyt.}


Cheers,
Bill


Bill Long                                                                       longb at cray.com
Fortran Technical Support  &                                  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