To: J3 J3/18-200 From: Bill Long Subject: Ballot Comment GB057 Date: 2018-June-12 Ballot Comment -------------- In their DIS Ballot for draft N2146 of Fortran 2018, the GB comment 057 reads: "Correction. The definition of "base_addr" is self-contradictory. The value of an object can be defined simultaneously to be a null pointer and not a null pointer." with the suggested edit: In the description of base_addr change "null pointer. If the object has zero size" to "null pointer; otherwise, if the object has zero size". Discussion ---------- Even though an unallocated allocatable or disassociated pointer can't be an object of zero size, we agree the edit is an improvement for readability. Edit to N2146 ------------- Page 492, 18.5.3 The CFI_cdesc_t structure type, p2 In the description of base_addr, change "null pointer. If the object has zero size" to "null pointer; otherwise, if the object has zero size". {The new description of base_addr now reads: "void * base_addr; If the object is an unallocated allocatable variable or a pointer that is disassociated, the value is a null pointer; otherwise, if the object has zero size, the value is not a null pointer but is otherwise processor dependent. Otherwise, the value is the base address of the object being described. The base address of a scalar is its C address. The base address of an array is the C address of the first element in Fortran array element order." }