| -- { 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; |