AI22-0050-1
!standard 13.11.5(3/5) 23-04-21 AI22-0050-1/03
!class Binding Interpretation 22-10-25
!status Amendment 1-2022 22-11-10
!status WG9 Approved 23-06-13
!status ARG Approved 14-0-0 22-11-10
!status work item 22-10-25
!status received 22-07-19
!submitter Tucker Taft on behalf of Maxim Reznik
!priority Low
!difficulty Easy
!qualifier Omission
!subject Ada.Unchecked_Deallocate_Subpool should be preelaborated
Procedure Ada.Unchecked_Deallocate_Subpool should have the Preelaborate aspect.
It would be useful if the Preelaborate aspect were set to True for procedure 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.
(See Summary.)
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;
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.
@drepl
@xcode{@b{with} System.Storage_Pools.Subpools;
@b{procedure} Ada.Unchecked_Deallocate_Subpool
(Subpool : @b{in out} System.Storage_Pools.Subpools.Subpool_Handle)
@b{with} Global => @b{in out all};}
@dby
@xcode{@b{with} System.Storage_Pools.Subpools;
@b{procedure} Ada.Unchecked_Deallocate_Subpool
(Subpool : @b{in out} System.Storage_Pools.Subpools.Subpool_Handle)
@b{with} Preelaborate, Global => @b{in out all};}
An ACATS C-Test could be constructed to check that the Ada.Unchecked_Deallocate_Subpool procedure is preelaborated.
This AI comes from Github Issue #20 (https://github.com/Ada-Rapporteur-Group/User-Community-Input/issues/20).
******************************************************