OSDN Git Service

* gnat.dg/bit_packed_array5.ads: Move dg directive to...
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gnat.dg / opt8.ads
1 package Opt8 is
2
3     type Value_Number_Kind is
4       (Int_Literal_VN,
5        Selected_Address_VN,
6        Membership_VN,
7        Initial_External_Kappa_VN,
8        Aliased_Kappa_VN,
9        Phi_As_Kappa_VN,
10        Multi_Target_Call_Kappa_VN,
11        Final_Value_Of_Seq_Kappa_VN,
12        Block_Kappa_VN);
13
14     subtype Kappa_VN is Value_Number_Kind
15     range Initial_External_Kappa_VN .. Block_Kappa_VN;
16
17     type Value_Number_Id is new Positive;
18
19     type Kappa_Component_Rec;
20
21     type Kappa_Component_Ptr is access Kappa_Component_Rec;
22
23     type Kappa_Component_Rec is record
24         Content_VN : Value_Number_Id;
25         Next : Kappa_Component_Ptr;
26     end record;
27
28     type Value_Number_Rec(Kind : Value_Number_Kind) is record
29         Id: Value_Number_Id;
30         case Kind is
31             when Int_Literal_VN =>
32                 Int_Val : Integer;
33             when Kappa_VN =>
34                 Old_Value : Kappa_Component_Rec;
35                 Possible_New_Values : Kappa_Component_Ptr;
36                 Use_Default : Boolean;
37             when Others =>
38                 null;
39         end case;
40     end record;
41
42     type Value_Number is access all Value_Number_Rec;
43
44     function VN_Complexity (Val : Value_Number; N : Natural) return Natural;
45
46 end Opt8;