summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/loop_optimization1.ads
blob: 2c3f419b50d9a04a573590b8c2549c829846556e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package Loop_Optimization1 is

   type Number is range 0 .. 127;

   type Group_List is array (Positive range <>) of Number;

   subtype Index is Natural range 1 .. 5;

   function Groups (T : Integer) return Group_List;
   pragma Import (Ada, Groups);
 
   type Group_Chain (Length : Index := 1) is record
      Groups : Group_List(1 .. Length);
   end record;

   type Group_Chain_List is array (Positive range <>) of Group_Chain;

   function Group_Chains (T : Integer) return Group_Chain_List;
   pragma Import (Ada, Group_Chains);

   type R (I : Boolean) is null record;
 
   type R_Access is access R;

   type R_List is array (Positive range <>) of R_Access;

   type R_List_Access is access R_List;

   type D is record
      L : R_List_Access;
   end record;

   procedure Create (A : in out D; Val : Integer);

end Loop_Optimization1;