https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116832
--- Comment #2 from Liam Powell <liam at liampwll dot com> ---
Here is another example I have found. In this case just one accept triggers
both selects. All Puts here are executed.
with Ada.Text_IO; use Ada.Text_IO;
with System;
procedure Example is
task A is
entry A;
end A;
task body A is
begin
delay 3.0;
accept A;
Ada.Text_IO.Put ("A");
end A;
begin
select
A.A;
Ada.Text_IO.Put ("B");
then abort
select
A.A;
Ada.Text_IO.Put ("C");
then abort
A.A;
end select;
Ada.Text_IO.Put ("D");
A.A;
end select;
end Example;