aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/einfo.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/einfo.ads')
-rw-r--r--gcc/ada/einfo.ads31
1 files changed, 17 insertions, 14 deletions
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads
index 30427a0..6b5a14a 100644
--- a/gcc/ada/einfo.ads
+++ b/gcc/ada/einfo.ads
@@ -3152,10 +3152,10 @@ package Einfo is
-- formals as a value of type Pos.
-- OK_To_Reference (Flag249)
--- Present in all entities for types and subtypes. If set it indicates
--- that a naked reference to the type is permitted within an expression
--- that is being analyzed or preanalyed (for example, a type name may
--- be referenced within the Invariant aspect expression for the type).
+-- Present in all entities. If set it indicates that a naked reference to
+-- the entity is permitted within an expression that is being preanalyzed
+-- (for example, a type name may be referenced within the Invariant
+-- or Predicate aspect expression for a type).
-- OK_To_Rename (Flag247)
-- Present only in entities for variables. If this flag is set, it
@@ -3609,11 +3609,14 @@ package Einfo is
-- textual appearance. Note that this includes precondition/postcondition
-- pragmas generated to correspond to Pre/Post aspects.
--- Static_Predicate (Node25)
+-- Static_Predicate (List25)
-- Present in discrete types/subtypes with predicates (Has_Predicates
--- set True). Set for a subtype that has a predicate that is considered
--- static. Points to the fully analyzed predicate expression, which is
--- always a membership test (possibly a set membership).
+-- set True). Points to a list of expression and N_Range nodes that
+-- represent the predicate in canonical form. The canonical form has
+-- entries sorted in ascending order, with all duplicates eliminated,
+-- and adjacent ranges coalesced, so that there is always a gap in the
+-- values between successive entries. The entries in this list are
+-- fully analyzed.
-- Storage_Size_Variable (Node15) [implementation base type only]
-- Present in access types and task type entities. This flag is set
@@ -4735,6 +4738,7 @@ package Einfo is
-- Needs_Debug_Info (Flag147)
-- Never_Set_In_Source (Flag115)
-- No_Return (Flag113)
+ -- OK_To_Reference (Flag249)
-- Overlays_Constant (Flag243)
-- Referenced (Flag156)
-- Referenced_As_LHS (Flag36)
@@ -4817,7 +4821,6 @@ package Einfo is
-- Known_To_Have_Preelab_Init (Flag207)
-- Must_Be_On_Byte_Boundary (Flag183)
-- Must_Have_Preelab_Init (Flag208)
- -- OK_To_Reference (Flag249)
-- Optimize_Alignment_Space (Flag241)
-- Optimize_Alignment_Time (Flag242)
-- Size_Depends_On_Discriminant (Flag177)
@@ -5073,7 +5076,7 @@ package Einfo is
-- First_Literal (Node17)
-- Scalar_Range (Node20)
-- Enum_Pos_To_Rep (Node23) (type only)
- -- Static_Predicate (Node25)
+ -- Static_Predicate (List25)
-- Has_Biased_Representation (Flag139)
-- Has_Contiguous_Rep (Flag181)
-- Has_Enumeration_Rep_Clause (Flag66)
@@ -5275,7 +5278,7 @@ package Einfo is
-- Modulus (Uint17) (base type only)
-- Original_Array_Type (Node21)
-- Scalar_Range (Node20)
- -- Static_Predicate (Node25)
+ -- Static_Predicate (List25)
-- Non_Binary_Modulus (Flag58) (base type only)
-- Has_Biased_Representation (Flag139)
-- Type_Low_Bound (synth)
@@ -5545,7 +5548,7 @@ package Einfo is
-- E_Signed_Integer_Type
-- E_Signed_Integer_Subtype
-- Scalar_Range (Node20)
- -- Static_Predicate (Node25)
+ -- Static_Predicate (List25)
-- Has_Biased_Representation (Flag139)
-- Type_Low_Bound (synth)
-- Type_High_Bound (synth)
@@ -6241,7 +6244,7 @@ package Einfo is
function Small_Value (Id : E) return R;
function Spec_Entity (Id : E) return E;
function Spec_PPC_List (Id : E) return N;
- function Static_Predicate (Id : E) return N;
+ function Static_Predicate (Id : E) return S;
function Storage_Size_Variable (Id : E) return E;
function Static_Elaboration_Desired (Id : E) return B;
function Static_Initialization (Id : E) return N;
@@ -6829,7 +6832,7 @@ package Einfo is
procedure Set_Small_Value (Id : E; V : R);
procedure Set_Spec_Entity (Id : E; V : E);
procedure Set_Spec_PPC_List (Id : E; V : N);
- procedure Set_Static_Predicate (Id : E; V : N);
+ procedure Set_Static_Predicate (Id : E; V : S);
procedure Set_Storage_Size_Variable (Id : E; V : E);
procedure Set_Static_Elaboration_Desired (Id : E; V : B);
procedure Set_Static_Initialization (Id : E; V : N);