J3/06-241 Date: 31 July 2006 To: J3 From: Bill Long and John Reid Subject: Issues 20, 23 : co-indexed variable Reference: J3/06-007 Discussion of Issues 20 (page 117) and 23 (page 157) Remote allocation has never been part of CAF and we believe that there is agreement about keeping this prohibition. The disagreement is over the rules for Z[P] = Z when Z is of a derived type with an allocatable component. The subgroup wishes to allow this provided the shapes conform. For example, the programmer may arrange that a team of images allocate the component to be of a single shape, while the rest make no use of it. The editor claims this is inherently unsafe. Why? Can't the user inquire about the remote bounds, as in: IF(SHAPE(Z[P]%allocatable)==SHAPE(Z)) THEN Z[P]=Z ELSE STOP "Mismatch in shape" END IF After all, we only added automatic reallocation for allocatable arrays in F2003. Before that we had the same thing for allocatable arrays---the user had to make sure the shapes agreed in intrinsic assignment. Concerning the fact that this gives different meaning to intrinsic assignment when a co-array is involved, we don't agree this is confusing. The user must be thinking about these issues---parallel programming is more complicated. Remote assignments are more restricted than local ones. It should be the first sentence in a textbook. A straw vote is needed to decide this. Edits to J3/06-007 If intrinsic assignment for co-indexed objects with allocatable components is retained, then [157:10-11] needs to be deleted.