J3/01-165r1 To: J3 Date: 21st March 2001 Subject: Revised Interp 000081 From: Malcolm Cohen The revision consists of improving (fixing) the wording of the edits. NUMBER: 000081 TITLE: Definition status of derived-type objects with pointer components KEYWORDS: Definition status, Derived type, Pointer component DEFECT TYPE: STATUS: J3 consideration in progress QUESTION: Consider: TYPE t REAL,POINTER :: x END TYPE TYPE(t) var1,var2 NULLIFY(var1%x) var2 = var1 ! Unfortunate. According to 14.7.1, "An object is defined if and only if all of its subobjects are defined." from which I conclude that the program fragment above is not conforming. Should the definition status of an object contain pointer components depend on the pointer association status of its pointer components and not their definition status? ANSWER: No, pointer components do not affect the definition status of an object. Edits are supplied to clarify this situation. EDITS: [288:17] Replace with "(1) An array is defined if and only if all of its elements are defined. (2) A derived-type scalar object is defined if and only if all of its nonpointer components are defined. (3) A complex or character scalar object is defined if and only if all of its subobjects are defined." {New definition of "defined"/"undefined" for things that have subobjects.} [288:18-19] Replace "(2)" with "(4)". {This comment is still true even if completely redundant. It would not hurt to delete it. It probably doesn't belong in the above list anyway.} SUBMITTED BY: Malcolm Cohen HISTORY: 99-266 m151 submitted 99-266r1 m151 approved uc 00-135 m152 revised but withdrawn (no vote) 01-165 m156 passed unanimously as amended ===END