https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116832
--- Comment #5 from Liam Powell <liam at liampwll dot com> ---
See the following code (shortened for clarity). There's probably a way to do
this without them, but our workaround works here.
select
Connection.Hold; -- Continues after update is done
then abort
declare
Occurrence : Ada.Exceptions.Exception_Occurrence;
begin
select
Fatal_Exception_Occurrence_Holder.Get (Occurrence);
then abort
Update_Check.Block_Until_Check_For_Update;
-- Prompt user if required
Update_Check.Block_Until_Update_Allowed;
-- Tell user update is running
end select;
Fatal_Exception_Occurrence_Holder.Get (Occurrence);
-- Above line to compensate for GCC bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116832
-- Display error
end;
Connection.Hold; -- Continues after update is done
end select;