OSDN Git Service

* gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gnat.dg / loop_optimization2.ads
1 with System;
2
3 package Loop_Optimization2 is
4
5    type Prim_Ptr is access procedure;
6    type Address_Array is array (Positive range <>) of Prim_Ptr;
7
8    subtype Dispatch_Table is Address_Array (1 .. 1);
9
10    type Tag is access all Dispatch_Table;
11
12    type Tag_Array is array (Positive range <>) of Tag;
13
14    function Interface_Ancestor_Tags (T : Tag) return Tag_Array;
15
16    type Interface_Data_Element is record
17       Iface_Tag : Tag;
18    end record;
19
20    type Interfaces_Array is array (Natural range <>) of Interface_Data_Element;
21
22    type Interface_Data (Nb_Ifaces : Positive) is record
23       Ifaces_Table : Interfaces_Array (1 .. Nb_Ifaces);
24    end record;
25
26    type Interface_Data_Ptr is access all Interface_Data;
27
28    type Type_Specific_Data (Idepth : Natural) is record
29       Interfaces_Table : Interface_Data_Ptr;
30    end record;
31
32    type Type_Specific_Data_Ptr is access all Type_Specific_Data;
33    pragma No_Strict_Aliasing (Type_Specific_Data_Ptr);
34
35    subtype Predef_Prims_Table is Address_Array (1 .. 16);
36    type Predef_Prims_Table_Ptr is access Predef_Prims_Table;
37
38    type Addr_Ptr is access System.Address;
39    pragma No_Strict_Aliasing (Addr_Ptr);
40
41 end Loop_Optimization2;