(j3.2006) (SC22WG5.4575) Comments on N1885

Van Snyder Van.Snyder
Wed Oct 26 14:34:55 EDT 2011


I have a few (possibly misguided) comments on N1885.

5.1p3 Note 5.2: Replace "within Fortran code" by "for a Fortran
procedure"

5.4.2p1: It seems to be OK for a processor to decide that
  pure real function xyz ( x )
    integer, intent(in) :: x
    xyz = x + 1.0
  end function xyz
is an asynchronous communication initiation or completion procedure.

6.3p1: With the <array-spec> being <assumed-rank-spec> there's no place
to write explicit lower bounds.  Therefore, all elements of the LBOUND
result would be 1.  The last sentence ought to be something like "The
value of the lower bound of each dimension of the dummy argument is 1,
and the value of the upper bound of dimension N of the dummy argument is
equal to the result of applying the SIZE intrinsic inquiry function to
the actual argument with DIM=N specified."

6.4.1p1: I don't understand how the expression can work.

6.4.3p1: After "result" insert "of UBOUND(ARRAY,RANK(ARRAY),[KIND])".

8.3.4p6: It's not obvious what attribute code ought to be used for an
assumed-length character scalar.  CFI_attribute_assumed is probably the
correct one, but (if so) the description ought to say so.

8.3.5.2p3:  The symbol $r$ appears without explanation.  After "array"
insert "of rank $r$".

8.3.5.2p2, description of "subscripts": Is the order of subscripts the
Fortran order or the C order?

8.3.5.2p5: The example would be more informative if the subscripts were
different.  Inquiring minds might realize that Fortran and C subscripts
have opposite ordering, and wonder which order they ought to appear in
the subscripts array.

8.3.5.3p1: The style for descriptions in 1539-1 is telegraphic, and in
active rather than passive voice.  Replace "Allocates" with "Allocate".

8.3.5.3p2, descriptions of "lower_bounds" and "upper_bounds": Is the
order of elements in the arrays the order of C array bounds or Fortran
array bounds?

8.3.5.3p4: Is dv->elem_len updated if no error is detected?

8.3.5.3p7: The example would be more informative if the bounds were
different.  Inquiring minds might realize that Fortran and C bounds
have opposite ordering, and wonder which order they ought to appear in
the lower and upper arrays.

8.3.5.4p1: The style for descriptions in 1539-1 is telegraphic, and in
active rather than passive voice.  Replace "Deallocates" with
"Deallocate".

8.3.5.5p1: The style for descriptions in 1539-1 is telegraphic, and in
active rather than passive voice.  Replace "Establishes" with
"Establish".

8.3.5.5 generally: It's not obvious how to establish an assumed-length
character scalar.

8.3.5.5p2, description of "extents": Is the order of extents the
Fortran order or the C order?

8.3.5.7p1: The style for descriptions in 1539-1 is telegraphic, and in
active rather than passive voice.  Replace "Updates" with "Update".

8.3.5.7p2, description of "lower_bounds" and "upper_bounds": Is the
order of elements in the arrays the order of C array bounds or Fortran
array bounds?  What is "the given array?"  Should this be "the array
described by the descriptor dv?"  Is it OK for the number of elements
to be > source->rank?

8.3.5.7p2, description of "strides": Is the order of elements in the
array the order of C array bounds or Fortran array bounds?  Is it OK
for the number of elements to be > source->rank?

8.3.5.8p1: The style for descriptions in 1539-1 is telegraphic, and in
active rather than passive voice.  Replace "CFI_select part updates"
with "Update".

8.3.5.8p2: It's not obvious how (or even if it's possible) to select a
substring of a character array.

8.3.5.9p1: The style for descriptions in 1539-1 is telegraphic, and in
active rather than passive voice.  Replace "CFI_setpointer part
updates" with "Update".

8.3.8p5 Note 8.12: "bind(c)" should be "bind(c,name='Cfun')", or "Cfun"
in the narrative should be "cfun".

8.3.9p2,p3(1): "BIND" should be "BIND(C)"

9.11p1: Values specified by attribute macros should be in the list.





More information about the J3 mailing list