blob: 76a110d72c551ceb1b176d90af02344bc09c8127 [file] [log] [blame]
-- { dg-do run }
procedure Atomic8 is
V : array (1 .. 2) of Natural := (0,0) with Atomic_Components;
task type TT1;
task body TT1 is
begin
while V (1) + V (2) < 1_000_000 loop
V (1) := V (1) + 1;
end loop;
end TT1;
task type TT2;
task body TT2 is
begin
while V (1) + V (2) < 1_000_000 loop
V (2) := V (2) + 1;
end loop;
end TT2;
begin
declare
T1 : TT1;
T2 : TT2;
begin
null;
end;
if V (1) + V (2) not in 1_000_000 | 1_000_001 then
raise Program_Error;
end if;
end;