28 lines
632 B
Ada
28 lines
632 B
Ada
-- { dg-do compile }
|
|
-- { dg-options "-O3" }
|
|
|
|
package body Loop_Optimization1 is
|
|
|
|
procedure Create (A : in out D; Val : Integer) is
|
|
|
|
M : constant Group_Chain_List := Group_Chains(Val);
|
|
G : constant Group_List := Groups(Val);
|
|
|
|
function Is_Visible (Group : Number) return Boolean is
|
|
begin
|
|
for I in M'Range loop
|
|
if Group = M(I).Groups(M(I).Length) then
|
|
return True;
|
|
end if;
|
|
end loop;
|
|
return False;
|
|
end;
|
|
|
|
begin
|
|
for I in A.L'Range loop
|
|
A.L(I) := new R(Is_Visible(G(I)));
|
|
end loop;
|
|
end;
|
|
|
|
end Loop_Optimization1;
|