ubuntu-buildroot/output/build/host-gcc-initial-11.4.0/gcc/testsuite/gnat.dg/opt8.ads

47 lines
1.2 KiB
Ada

package Opt8 is
type Value_Number_Kind is
(Int_Literal_VN,
Selected_Address_VN,
Membership_VN,
Initial_External_Kappa_VN,
Aliased_Kappa_VN,
Phi_As_Kappa_VN,
Multi_Target_Call_Kappa_VN,
Final_Value_Of_Seq_Kappa_VN,
Block_Kappa_VN);
subtype Kappa_VN is Value_Number_Kind
range Initial_External_Kappa_VN .. Block_Kappa_VN;
type Value_Number_Id is new Positive;
type Kappa_Component_Rec;
type Kappa_Component_Ptr is access Kappa_Component_Rec;
type Kappa_Component_Rec is record
Content_VN : Value_Number_Id;
Next : Kappa_Component_Ptr;
end record;
type Value_Number_Rec(Kind : Value_Number_Kind) is record
Id: Value_Number_Id;
case Kind is
when Int_Literal_VN =>
Int_Val : Integer;
when Kappa_VN =>
Old_Value : Kappa_Component_Rec;
Possible_New_Values : Kappa_Component_Ptr;
Use_Default : Boolean;
when Others =>
null;
end case;
end record;
type Value_Number is access all Value_Number_Rec;
function VN_Complexity (Val : Value_Number; N : Natural) return Natural;
end Opt8;