https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43485
--- Comment #3 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > Still present on the mainline, but the problem directly comes from the use > of Ada.Real_Time, i.e. this works if you replace it with Ada.Calendar. This is apparently sufficient: diff --git a/gcc/ada/libgnarl/a-retide.adb b/gcc/ada/libgnarl/a-retide.adb index 80e3d31ed17..d7cac0f2124 100644 --- a/gcc/ada/libgnarl/a-retide.adb +++ b/gcc/ada/libgnarl/a-retide.adb @@ -31,11 +31,13 @@ with Ada.Exceptions; +with System.Soft_Links; with System.Tasking; with System.Task_Primitives.Operations; package body Ada.Real_Time.Delays is + package SSL renames System.Soft_Links; package STPO renames System.Task_Primitives.Operations; ---------------- @@ -62,7 +64,9 @@ package body Ada.Real_Time.Delays is Ada.Exceptions.Raise_Exception (Program_Error'Identity, "potentially blocking operation"); else + SSL.Abort_Defer.all; STPO.Timed_Delay (Self_Id, To_Duration (T), Absolute_RT); + SSL.Abort_Undefer.all; end if; end Delay_Until;