https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45424
--- Comment #5 from Harald Anlauf <anlauf at gmx dot de> --- Looking at the F2k18 draft, I see some updates and clarifications: 16.9.105 IS_CONTIGUOUS (ARRAY) Description. Array contiguity test (8.5.7). Class. Inquiry function. Argument. ARRAY may be of any type. It shall be assumed-rank or an array. If it is a pointer it shall be associated. Result Characteristics. Default logical scalar. Result Value. The result has the value true if ARRAY has rank zero or is contiguous, and false otherwise. [Example elided] The clarification about rank zero is certainly helpful. Furthermore: 8.5.7 CONTIGUOUS attribute NOTE 1 If a derived type has only one component that is not zero-sized, it is processor dependent whether a structure component of a contiguous array of that type is contiguous. That is, the derived type might contain padding on some processors. This gives some freedom for a "conservative" implementation of the intrinsic.