To: J3 J3/21-127 From: Malcolm Cohen & Yasuharu Hayashi Subject: NOTE for CONTIGUOUS and assumed-shape Date: 2021-March-01 1. Introduction The standard is somewhat cryptic re passing discontiguous actual arguments to CONTIGUOUS assumed-shape dummies. This is understandable, as the issue is the same as passing discontiguous to explicit-shape or assumed-size, but especially for those who are less familiar with the traditions and were not there for the discussions, it is unclear whether it is allowed or not, and whether the processor needs to do copy-in/out or not. Therefore this paper suggests adding a NOTE or two to make this clearer. 2. Edits to 21-007 [100:2-] 8.5.7 CONTIGUOUS attribute, at the very end of the subclause, insert a new NOTE: "NOTE 3 If an assumed-shape or assumed-rank dummy argument has the CONTIGUOUS attribute, there is no requirement for the actual argument to be contiguous. This is the same as for dummy arguments that have explicit shape or assumed size. The dummy argument will be contiguous even when the actual argument is not." [317:12-] 15.5.2.4 Ordinary dummy variables, at the end of the subclause, insert a new NOTE: "NOTE 6 If an effective argument is a discontiguous array, and the dummy argument is an assumed-shape array with the CONTIGUOUS attribute, an assumed-rank dummy data object with the CONTIGUOUS attribute, an explicit-shape array, or an assumed-size array, the processor might need to use the so-called copy-in/copy-out argument passing mechanism, so as to ensure that the dummy array is contiguous even when the actual argument is not." ===END===