J3/01-165 Date: 15 March 2001 To: J3 From: Malcolm Cohen Subject: Revised Interp 000081 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: Yes. 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 and all of its pointer components have a pointer association status of associated or disassociated. (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 revised again ===END