(j3.2006) (SC22WG5.4491) Ballot on N1866

Bader, Reinhold Reinhold.Bader
Mon Jul 11 15:21:06 EDT 2011


Please answer the following question "Is N1866 ready for forwarding 
to SC22 as the PDTR?" 

Answer: Yes, but I recommend the following changes.

======================================================================

All suggested edits are against N1866.

(1) The PDF still contains a /Title entry with the value 11-146r1, as
    well as a /Subject entry which appears inappropriate. This should
    be fixed in the LaTeX source to say "TR29113" and "Type 2 
    Technical Report on Interoperability with C", respectively.

(2) [v, para 6] After "Procedure", add "s" (Clause 3 has its heading
    correct)

(3) [9:9] Remove the "s" at the end of "Arguments" (there is only 
    one). 

(4) [11:15-16] Move line break to before CFI_

(5) [11:25] Before "CFI_", insert "with "

(6) [12:12,14] Replace "equals" with "is equal to", twice; this 
    appears more consistent with later wording.

(7) [12:40] Replace "In a descriptor ... array" by "In a C descriptor 
    whose attribute member has the value CFI_attribute_unknown_size,"
    Reason: It is already explained elsewhere [14:2] what the 
    attribute value means.

(8) Looking at NOTE 5.3 I find I dislike it. It should, if present at
    all, rather point out what the general procedure on usage of the
    macro is. Here is a suggested replacement text:

    "NOTE 5.3
     The CFI_CDESC_T macro is provided to support management of objects
     suitable for use in Fortran within C, in particular by providing
     the memory needed for the C descriptor itself.
     The address of an entity declared using the macro is not 
     usable as an actual argument corresponding to a formal parameter 
     of type *CFI_cdesc_t without an explicit cast."

     (Notes 5.7 and 5.8 give further information which therefore 
      needs no coverage here). 
     
(9)  Table 5.3 contains two error code macros, CFI_INVALID_EXTENT and
     CFI_INVALID_SM which appear to be superfluous because no arguments
     of type CFI_dim_t appear in the API any more. I therefore suggest 
     to delete these two error codes, and correct the description of
     CFI_ERROR_OUT_OF_BOUNDS by replacing the text "A reference is out
     of bounds" by
     "A function argument is causing out-of-bounds references"
     
     Quite generally, the description of the error codes refers to the
     C descriptor instead of the function argument; this appears
     inappropriate or at least incomplete for some of them.

(10) [16:21,22] After "allocatable" and "pointer" respectively, add
     "variable".

(11) [17:27] After "dummy" add "=0" to suppress compiler grumble.

(12) In the description of CFI_establish, we've unfortunately omitted
     the effect on the lower bounds if an associated pointer is 
     established. Suggested edit:
     [18:34] after "contiguous array" add "; if the attribute argument 
     has the value CFI_attribute_pointer, the lower bounds of the object 
     described by /dv/ are set to zero"

(13) In NOTE 5.7, replace "the descriptor" by "a descriptor"

(14) NOTE 5.10 is not entirely correct. If the object is an unallocated
     allocatable variable, it appears to be processor dependent whether
     the object is contiguous.
     Suggested edit: Replace "or CFI_attribute_allocatable" by ", or 
     which describes an allocated allocatable variable"
    
(15) [21:5] Replace "source->dim[0].upper_bound" by
     "source->dim[0].lower_bound+source->dim[0].extent-1"
     (an upper_bound component does not exist)

(16) [22:2] Replace "complex" by "_Complex"

(17) [22:9] Replace "CFI_type_double_complex" by "CFI_type_double_Complex"

(18) [25:4] In "braces .", delete the blank.

(19) [34:22/24] It seems inappropriate to introduce paragraphs 6 and 7 at 
     all in the places they are now. Suggestion: keep the whole section
     in para 5, and have para 6 start at [34:25].


Regards
Reinhold






More information about the J3 mailing list