diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/opt8.ads')
-rw-r--r-- | gcc/testsuite/gnat.dg/opt8.ads | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/opt8.ads b/gcc/testsuite/gnat.dg/opt8.ads new file mode 100644 index 000000000..57d84a293 --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt8.ads @@ -0,0 +1,46 @@ +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; |