AI22-0050-1

!standard 13.11.5(3/5)                                    22-10-25  AI22-0050-1/01

!class Binding Interpretation  22-10-25

!status work item 22-10-25

!status received 22-07-19

!priority Low

!difficulty Easy

!qualifier Omission

!subject Ada.Unchecked_Deallocate_Subpool should be preelaborated

!summary

Ada.Unchecked_Deallocate_Subpool should have the Preelaborate aspect.

!issue

It would be useful if the Preelaborate aspect were set to True for Ada.Unchecked_Deallocate_Subpool. The package System.Storage_Pools.Subpools has Preelaborate True, so there seems no reason that this procedure shouldn't as well.

!recommendation

(See Summary.)

!wording

Modify 13.11.5(3/5):

with System.Storage_Pools.Subpools;

procedure Ada.Unchecked_Deallocate_Subpool

   (Subpool : in out System.Storage_Pools.Subpools.Subpool_Handle)

   with {Preelaborate, }Global => in out all;

!discussion

Ada.Unchecked_Deallocation has the aspect Preelaborate, as does the needed package System.Storage_Pools.Subpools. Thus it seems to be an omission (rather than something intended) that Ada.Unchecked_Deallocate_Subpool does not have this aspect.

!ACATS test

An ACATS C-Test could be constructed to check that the Ada.Unchecked_Deallocate_Subpool procedure is preelaborated.

!appendix

This AI comes from Github Issue #20 (https://github.com/Ada-Rapporteur-Group/User-Community-Input/issues/20).

******************************************************