J3/06-101 Date: 11 November 2005 To: J3 From: Aleksandar Donev Subject: C Interop and contiguous arrays References: J3/05-273r2, J3/05-281r2 Specification: The proposed edits for the CONTIGUOUS attribute (see J3/05-273r2) introduce the concept of a contiguous array but do not complete the integration process with C Interop. In particular, three issues can be identified: 1) Array pointers and assumed-shape dummies with the CONTIGUOUS attribute should be excluded from BIND(C) interfaces (see J3/05-281r2), since they may have a different physical representation from noncontiguous ones. In the future we may add additional C API for contiguous arrays. 2) C_LOC should be extended to return the base address of (run-time) contiguous array pointer or assumed-shape array (edits below). 3) No edits for this, however, it should be noted. In C_F_POINTER, the FPTR argument can be a contiguous pointer (unfortunately at this point in time we cannot go back and require it to be such). Edits: 1) [73:25+] Add a new constraint: C530+1/2 (R501) The CONTIGUOUS attribute shall not be specified for a dummy argument of a procedure that has a . 3) 395: 10 Replace item (b) "an allocated allocatable variable that has the TARGET attribute and is not an array of zero size, or" with new item (b) "A contiguous object that has the TARGET attribute and is not an array of zero size, or" OR (to be decided) (b) "A variable that has the CONTIGUOUS and TARGET attributes and is not an array of zero size, or"