To: J3 Members J3/16-285r2 From: Van Snyder & Malcolm Cohen Subject: Amendment to Interp F08/0013 References: 16-007r2, 16-257 Date: 2016 October 13 1. Introduction =============== Interp F08/0013 introduced text that is in 7.5.6.3p1 "When finalization occurs": "If the variable is an allocated allocatable variable that would be deallocated by intrinsic assignment, the finalization occurs before the deallocation." This overlooked allocated allocatable ultimate components. Finalization of an allocatable subobject during intrinsic assignment needs to be clarified. 2. Edits to 16-007r2 ==================== [xviii Introduction, under "Data usage and computation"] insert an item "Finalization of an allocatable subobject during intrinsic assignment has been clarified." [84:29 7.5.6.3p1 "When finalization occurs"] After "allocated allocatable variable" insert ", or has an allocated allocatable subobject,", making the whole paragraph read: "When an intrinsic assignment statement is executed (10.2.1.3), if the variable is not an unallocated allocatable variable, it is finalized after evaluation of expr and before the definition of the variable. If the variable is an allocated allocatable variable, or has an allocated allocatable subobject, that would be deallocated by intrinsic assignment, the finalization occurs before the deallocation." [84:32 7.5.6.3p2 "When finalization occurs"] Replace "component" with "subobject", making the whole paragraph read: "When a pointer is deallocated its target is finalized. When an allocatable entity is deallocated, it is finalized unless it is the variable in an intrinsic assignment statement or a subobject thereof. If an error condition occurs during deallocation, it is processor dependent whether finalization occurs." ===END===