summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/opt8.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/opt8.ads')
-rw-r--r--gcc/testsuite/gnat.dg/opt8.ads46
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;