J3/06-101r1 Date: 16 February 2006 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: ____________________ [73:26+] After C530, add a new constraint: C530a (R501) The CONTIGUOUS attribute shall not be specified for a dummy argument of a procedure that has a . [395:10-11] In the first list in the description of the argument to C_LOC (15.1.2.5), 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"