Version 1.2 of ai12s/ai12-0142-1.txt

Unformatted version of ai12s/ai12-0142-1.txt version 1.2
Other versions for file ai12s/ai12-0142-1.txt

!standard 13.11(21)          14-12-04 AI05-0142-1/01
!standard 13.11.4(21/3)
!standard 13.11.4(31/3)
!class binding interpretation 14-12-04
!status work item 14-12-04
!status received 14-10-28
!priority Low
!difficulty Medium
!qualifier Omission
!subject Bad subpool implementations
Add erroneous execution wording for subpools.
We have 13.11(21) to say that compilers do not have to worry about malfunctioning pool implementations. However, this wording does not cover any memory allocated by Allocate_From_Subpool (as in that case, Allocate is never called). Should we have such wording? (Yes.)
(See Summary.)
Add after 13.11.4(31/3):
Erroneous Execution
If Allocate_From_Subpool does not meet one or more of the requirements on the Allocate procedure (see Erroneous Execution in 13.11), then the program execution is erroneous.
13.11(21) is cleverly worded such that problems caused by the implementation of Deallocate or external action (as could happen if the pool type is not encapsulated) are blamed on the implementation of Allocate and thus also can cause erroneous execution. Specifically, such problems cause the allocated memory to be used for some other purpose while the pool element still exists.
For allocation from a subpool, Allocate need never be called. If Allocate is never called, 13.11(21) does not apply. But of course Allocate_From_Subpool needs the same sort of requirements that Allocate does.
13.11.4(21) attempts to apply those requirements to Allocate_From_Subpool, but it fails to state the consequences. Thus we add a sentence under the proper heading to do that.
No ASIS effect.
!ACATS test
We need an ACATS B-Test to verify that the new rule(s) are enforced.


Questions? Ask the ACAA Technical Agent