J3/06-333 Date: October 30, 2006 To: J3 From: Aleksandar Donev Subject: IS_CONTIGUOUS References: 06-263r1, 06-007r1 [392:3] I find the IS_CONTIGUOUS intrinsic (13.7.93) terribly useless given the restriction on the actual argument: "It shall be an assumed-shape array or an array pointer." We have several objects for which it is processor-dependent whether they are contiguous. There are also things like array sections for which one can only know whether they are contiguous at runtime. Given our design of IS_CONTIGUOUS, one cannot write: REAL, POINTER, CONTIGUOUS :: x(:) IF(IS_CONTIGUOUS(some_array%real_component)) x=>some_array%real_component One cannot do the pointer assignment first, and then test for contiguity, because by then the program would already be illegal! We should allow any data object to be the actual of IS_CONTIGUOUS, or at the very least, any array object.