J3/09-245 To: J3 From: Van Snyder Subject: Description of entities that are not finalized Date: 2009 June 30 References: 09-007r2 1. Introduction The title of 4.5.6.4 is "Entities that are not finalized." The entities listed might or might not be finalizable. If they are finalizable, it might be seen to contradict the implication of the first sentence of 4.5.6.2 that all finalizable entities are finalized. Therefore 4.5.6.4 ought to be part of "When finalization occurs." The aim of 4.5.6.4 is to ease the potential burden on processors that might otherwise be expected to track down every finalizable entity in the program and finalize it when a deallocation failure occurs. The term "immediately before image termination" is ambiguous. Therefore there might be a converse burden to prevent finalization if a processor unwinds its stack before image termination. Some processors might say this happens before "immediately before termination," and therefore they are required to finalize these entities, and some might say it happens "immediately before termination," and therefore they are prohibited from finalizing them. Finalizing them should neither be required nor prohibited. Whether the "entities existing immediately prior to termination" are finalized ought explicitly to be processor dependent, and the terminology should not include the ambiguous specification "immediately before termination." It ought instead to be posed in terms of conditions explicitly specified elsewhere in the standard. 2. Edits w.r.t. 09-007r2 [76:36+ 4.5.6.3p10+]---------------------------------------------------- Editor: Insert a new paragraph: "Whether entities existing when image termination (2.3.5) occurs are finalized is processor dependent." [77:1-3 4.5.6.4]-------------------------------------------------------- Editor: Delete subclause 4.5.6.4. [461:35+ A2]------------------------------------------------------------ Editor: Insert an item: "o whether entities existing when image termination (2.3.5) occurs are finalized (4.5.6.3);"