https://gcc.gnu.org/g:1592d6f9e7c53331bc6df568c2f2d032a4aab571
commit r16-5375-g1592d6f9e7c53331bc6df568c2f2d032a4aab571 Author: Ronan Desplanques <[email protected]> Date: Mon Nov 3 12:44:49 2025 +0100 ada: Use Finalizable for suspension objects The only reason Suspension_Object was a tagged type before this patch was to have finalization. This patch makes it use the Finalizable aspect, which is more lightweight. gcc/ada/ChangeLog: * libgnarl/a-sytaco.ads (Suspension_Object): Use Finalizable aspect. Diff: --- gcc/ada/libgnarl/a-sytaco.ads | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gcc/ada/libgnarl/a-sytaco.ads b/gcc/ada/libgnarl/a-sytaco.ads index 24b2a8076b91..602e31a74f4a 100644 --- a/gcc/ada/libgnarl/a-sytaco.ads +++ b/gcc/ada/libgnarl/a-sytaco.ads @@ -35,7 +35,6 @@ with System.Task_Primitives; -with Ada.Finalization; with Ada.Task_Identification; package Ada.Synchronous_Task_Control with @@ -75,14 +74,17 @@ private procedure Finalize (S : in out Suspension_Object); -- Finalization for Suspension_Object - type Suspension_Object is - new Ada.Finalization.Limited_Controlled with - record + type Suspension_Object is limited record SO : System.Task_Primitives.Suspension_Object; -- Use low-level suspension objects so that the synchronization -- functionality provided by this object can be achieved using -- efficient operating system primitives. - end record; + end record + with + Finalizable => + (Initialize => Initialize, + Finalize => Finalize, + Relaxed_Finalization => False); pragma Inline (Set_True); pragma Inline (Set_False);
