To: J3 J3/18-159 From: Bill Long Subject: C_LOC needs to permit an assumed-type argument Date: 2018-May-24 Discussion: ----------- The description of the X argument of C_LOC in 18.2.3.6 includes the sentence: "It shall either be a variable with interoperable type and kind type parameters, or be a nonpolymorphic variable with no length type parameters." This effectively prohibits assumed-type arguments for C_LOC as assumed-type objects are unlimited polymorphic. However, it is clear from C710 in 7.3.2.2 TYPE type specifier: "C710 An assumed-type variable name shall not appear in a designator or expression except as an actual argument corresponding to a dummy argument that is assumed-type, or as the first argument to the intrinsic function IS_CONTIGUOUS, LBOUND, PRESENT, RANK, SHAPE, SIZE, or UBOUND, or the function C_LOC from the intrinsic module ISO_C_BINDING." that it was intended to allow assumed-type arguments for C_LOC. It was an oversight to not have repaired the description of C_LOC when assumed-type was added in F2018. An edit is provided to fix this oversight. Edit to WG5/N2146: ------------------ [484] In 18.2.3.6 C_LOC (X), paragraph 3 Argument, third sentence, Delete "either", and following "kind type parameters", insert "be a variable of assumed-type, ". {The edit changes the sentence from 'It shall either be a variable with interoperable type and kind type parameters, or be a nonpolymorphic variable with no length type parameters." to "It shall be a variable with interoperable type and kind type parameters, be a variable of assumed-type, or be a nonpolymorphic variable with no length type parameters."}