J3/14-171 To: J3 From: Van Snyder Subject: Questions about "subcomponent" Date: 2014 June 08 1. Definition ============= A subcomponent is a direct component that is a subobject of a structure. A direct component is a component, or a direct component of a nonpointer nonallocatable component. Therefore, "subcomponent" doesn't include components of allocatable components. 2. Questionable usages ====================== [7:39] in definition of default-initialized. Not incorrect, but Why? [72:37] in 4.5.4.6p7 in "Default initialization for components". Is reference to 6.4.2 germane here? [82:26] in C496 in 4.5.10 "Construction of derived-type values." Is subcomponent correct here? What about allocatable subcomponents of an ancestor component? [82:28] In C497 in 4.5.10 "Construction of derived-type values." Is subcomponent correct here? What about allocatable subcomponents of an ancestor component? [100:9] in C547 in 5.3.10 "INTENT attribute." This appears to be wrong. Doesn't protect components of allocatable components. [121:13] in C617 in 6.4.2 "Structure components." Is a polymorphic component of an allocatable component allowed? [129:10] in C643 in 6.7.1.1 "Syntax" in 6.7.1 "Allocate statement." Is a component of type LOCK_TYPE of an allocatable component permitted in the type of if the is a coarray? [129:20] in 6.7.1.1p4 "Syntax" in 6.7.1 "Allocate statement." Is a component of type LOCK_TYPE of an allocatable component permitted in the type of if the is a coarray? [133:31] in 6.7.3.2p12 "Deallocation of allocatable variables." If an allocatable coarray component of an allocatable component is deallocated by execution of a RETURN or END statement, does synchronization occur? [160:30+] in Note 7.45. Should probably be "subobjects". [295:9+] in Note 12.15. Might a processor create a copy of an allocatable component of an allocatable component? [467:23-24] In 16.5.2.3p1(3) "Events that cause pointers to become associated." If a pointer component of an allocatable component of is associated, is the corresponding subcomponent of the a subcomponent, and does it become associated? [468:15-16] in 16.5.2.4p1(4) "Events that cause pointers to become disassociated." If a pointer component of an allocatable component of is disassociated, is the corresponding subcomponent of the a subcomponent, and does it become disassociated? 3. Usages that are probably correct =================================== [100:16] In 5.3.10p3 is probably correct. A default-initialized component of an allocatable component becomes undefined because an allocatable component cannot be default initialized. [218:16] in 9.6.3p7 "Data transfer input/output list" is probably correct. [468:1] in 16.5.2.3p1(5) "Events that cause pointers to become associated" is probably correct. A default-initialized pointer component of an allocatable component does not become associated because the allocatable component cannot be default initialized. [468:18] in 16.5.2.4p1(5) "Events that cause pointers to become disassociated" is probably correct. A default-initialized pointer component of an allocatable component does not yet exist because an allocatable component cannot be default initialized. [469:18,20] in 16.5.2.5p1(13) "Events that cause the associations tatus of pointers to become undefined" is probably correct. A pointer component of an allocatable component does not yet exist because an allocatable component cannot be default initialized. [469:22] in 16.5.2.5p1(14) "Events that cause the associations tatus of pointers to become undefined" is probably correct. A pointer component of an allocatable component does not yet exist because an allocatable component cannot be default initialized. [473:20] in "16.6.3[1(3) "Variables that are initially defined" is probably correct. [475:7-8] in 16.6.5p1(19) "Events that cause variables to become defined" is probably correct. A default initialized component of an allocatable component does not yet exist because an allocatable component cannot be default initialized. [475:16] in 16.6.5p1(23) "Events that cause variables to become defined" is probably correct. Is a default initialized component of an allocatable component does not yet exist because an allocatable component cannot be default initialized. [475:18] in 16.6.5p1(23) "Events that cause variables to become defined" is probably correct. A default initialized component of an allocatable component does not yet exist because an allocatable component cannot be default initialized. [475:26] in 16.6.5p1(28) "Events that cause variables to become defined" is probably correct. A default initialized component of an allocatable component does not yet exist because an allocatable component cannot be default initialized. [476:32,34] in 16.6.6p1(12) "Events that cause variables to become undefined" is probably correct. A default initialized component of an allocatable component does not yet exist because an allocatable component cannot be default initialized. [476:43,477:1,5] in 16.6.6p1(15)(b,c,e) "Events that cause variables to become undefined" is probably correct. A default initialized component of an allocatable component does not yet exist because an allocatable component cannot be default initialized.