07-227 To: J3 From: Van Snyder Subject: Default initialization Date: 2007 May 10 Introduction ------------ The term "initialization target" is defined twice -- once for data targets and once for procedure targets. The first definition is used once; the second is used twice, but the second use of it is easily avoided. The definitions should be moved into the constraints where they are referenced. There are several places that say "... the type has a direct component that has default initialization." It would be simpler to define whether a type has default initialization and just use the phrase "the type has default initialization. Edits ----- [68:15-17] Overlooks vector subscripts and CONTIGUOUS. Editor: Replace "and the values ... value" by " all nondeferred type parameters of the pointer have the same values as the corresponding type parameters of the target, and the target is contiguous if the pointer has the CONTIGUOUS attribute." [68:31] Editor: Replace "variable that is an initialization target" by "a nonallocatable variable that has the TARGET and SAVE attributes and does not have a vector subscript". [68:36-37] Editor: Delete the paragraph. [69:18+] Editor: add a paragraph "A type has default initialization if is specified for any direct component of the type. An object has default initialization if it is of a type that has default initialization." [69:Note 4.37] Editor: Delete "specified in the definition of the type" because default initialization can't be specified anywhere else. [105:2] Editor: Delete "has been specified with" and "in a type definition". [307:10-11] Editor: Delete "A procedure ... if it is. Move the remainder of the paragraph to replace "an initialization target" at [306:30]. [319:13-14] Editor: Replace "for which" by "that has" and delete "is specified for a direct component". [484:2-3] Editor: Replace "is an ultimate ... component," by "has default initialization" and replace "an initialization target" by "not a reference to the intrinsic function NULL" (cf. 484:16-17). [500:17-19] Editor: Replace "4.5" by "4.5.4.5" and delete "Nonpointer ... by default." [501:5] Editor: Insert "with " after "initialization" twice.