To: J3 J3/15-164 Subject: Constraint C411 on TYPE(*) does not admit scalars From: Van Snyder Reference: 15-007r1 Date: 2015 June 07 1. Introduction =============== Subclause 5.5.8.7p1 explicitly allows the effective argument associated with an assumed-rank dummy argument to be a scalar: "this rank can be zero." Therefore, a scalar TYPE(*) actual argument should be allowed to correspond to an assumed-rank dummy argument. C411 says that an assumed-type actual argument that corresponds to an assumed-rank dummy argument shall be assumed-shape or assumed-rank. "Scalar" is conspicuously absent. This inconsistency should be corrected. 2. Edits ======== [54:18 C411] Before "assumed-shape" insert "a scalar, or an". After "assumed-rank" insert "array", making the sentence end "... shall be a scalar, or an assumed-rank or assumed-shape array." {C411 came from C407c in subclause 9.4 on page 34 of N1904, TS 29113, "Further Interoperability of Fortran with C." We don't do interps or publish corrigenda on Technical Specifications. Should this difference from TS 29113 be brought to readers' attention?} [xviii Introduction under "Data usage and computation"] Insert a sentence: "An assumed-type actual argument that corresponds to an assumed-rank dummy argument is allowed to be a scalar; assumed type and assumed rank were introduced in ISO/IEC TS 29113, not ISO/IEC 1539-1:2010."