To: J3 11-232r2 Subject: PDTS 29113 Ballot comments GB6 and GB7 From: Bill Long / Van Snyder Date: 2011 October 11 References: WG5/N1869, WG5/N1880 WG5/N1881 Discussion: The 7th comment (labeled here as GB7) in the UK Ballot (N1881) proposes changing the text in 5.3.5.1, para 4 bullet list to use Fortran terms (defined/reference) instead of "modified/accessed". It is unclear why the phrase "given a value" is not similarly replaced by "defined". The edits below include that change in addition to the GB7 changes. In reading 5.3.5.1, paragraphs 2-5 seem out of place. For example, paragraph 2 starts "Within a C function..." just below the 5.3.5 title "Functions", yet the C functions of paragraph 2 are not the ones referred to by the title. Subclause 5.3.5.1 is clearer if paragraphs 2-5 are removed, leaving paragraphs 1, 6, and 7, all of which discuss the actual functions that follow. The removed paragraphs would make more sense in a new subclause following 5.3.6. The description in GB6 of the restriction on the actual argument corresponding to a Fortran dummy argument is entirely unnecessary; it is covered by subclause 5.3.10 of 1539-1. Edits to N1869, subsuming GB6 and GB7 from N1881: 1) Replace 5.3.5.1p4 with the following "If the address of an object is the value of a formal parameter that corresponds to a nonpointer dummy argument in a BIND(C) interface, then o if the dummy argument has the INTENT(IN) argument, the object shall not be defined or become undefined, and o if the dummy argument has the INTENT(OUT) attribute, the object shall not be referenced before it is defined." 2) Create a new subclause, 5.3.6a, following 5.3.6 with the title "Restrictions on formal parameters", and move 5.3.5.1 paragraphs 2, 3, 4 (as modified by edit above}, and 5 to this new subclause. 3) In the penultimate paragraph of 6.9 change "5.3.8" to "5.3.9" and change "15.5.8" to "15.5.9".