summaryrefslogtreecommitdiffstats
path: root/gcc/ada/einfo.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-26 09:45:37 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-26 09:45:37 +0000
commita60794e6191ed946a74284e95d6d1f35b0c2bf79 (patch)
tree332087b968fe63a4bb96f59b2844c041ca6d2696 /gcc/ada/einfo.ads
parent2884c9d14edd0b821b7bb336cac13b73b547743c (diff)
downloadppe42-gcc-a60794e6191ed946a74284e95d6d1f35b0c2bf79.tar.gz
ppe42-gcc-a60794e6191ed946a74284e95d6d1f35b0c2bf79.zip
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb (Proper_First_Index): Moved from Sem_Util. * einfo.ads: Add new synthesized attribute Proper_First_Index along with usage in nodes. (Proper_First_Index): Moved from Sem_Util. * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo. 2012-04-26 Gary Dismukes <dismukes@adacore.com> * layout.adb (Layout_Component_List): Test for the case of a single variant and the size of its component list was computed as an integer literal, and use that size (which is in bits) as is rather than converting to storage units. 2012-04-26 Robert Dewar <dewar@adacore.com> * exp_aggr.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186866 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/einfo.ads')
-rw-r--r--gcc/ada/einfo.ads23
1 files changed, 16 insertions, 7 deletions
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads
index cf5aebe7311..1badc882d09 100644
--- a/gcc/ada/einfo.ads
+++ b/gcc/ada/einfo.ads
@@ -3336,13 +3336,6 @@ package Einfo is
-- conditions are present. The precondition_wrapper body is the original
-- entry call, decorated with the given precondition for the entry.
--- Primitive_Operations (synthesized)
--- Present in concurrent types, tagged record types and subtypes, tagged
--- private types and tagged incomplete types. For concurrent types whose
--- Corresponding_Record_Type (CRT) is available, returns the list of
--- Direct_Primitive_Operations of its CRT; otherwise returns No_Elist.
--- For all the other types returns the Direct_Primitive_Operations.
-
-- Predicate_Function (synthesized)
-- Present in all types. Set for types for which (Has_Predicates is True)
-- and for which a predicate procedure has been built that tests that the
@@ -3353,6 +3346,13 @@ package Einfo is
-- Note: the reason this is marked as a synthesized attribute is that the
-- way this is stored is as an element of the Subprograms_For_Type field.
+-- Primitive_Operations (synthesized)
+-- Present in concurrent types, tagged record types and subtypes, tagged
+-- private types and tagged incomplete types. For concurrent types whose
+-- Corresponding_Record_Type (CRT) is available, returns the list of
+-- Direct_Primitive_Operations of its CRT; otherwise returns No_Elist.
+-- For all the other types returns the Direct_Primitive_Operations.
+
-- Prival (Node17)
-- Present in private components of protected types. Refers to the entity
-- of the component renaming declaration generated inside protected
@@ -3393,6 +3393,11 @@ package Einfo is
-- in the shadow entity, it points to the proper location in which to
-- restore the private view saved in the shadow.
+-- Proper_First_Index (synthesized)
+-- Applies to array types and subtypes. Returns the First_Index of the
+-- type unless it is a string literal. In that case, the First_Index is
+-- obtained from the base type.
+
-- Protected_Formal (Node22)
-- Present in formal parameters (in, in out and out parameters). Used
-- only for formals of protected operations. References corresponding
@@ -5026,6 +5031,7 @@ package Einfo is
-- Is_Constrained (Flag12)
-- Next_Index (synth)
-- Number_Dimensions (synth)
+ -- Proper_First_Index (synth)
-- (plus type attributes)
-- E_Block
@@ -5688,6 +5694,7 @@ package Einfo is
-- Is_Constrained (Flag12)
-- Next_Index (synth)
-- Number_Dimensions (synth)
+ -- Proper_First_Index (synth)
-- (plus type attributes)
-- E_String_Literal_Subtype
@@ -5695,6 +5702,7 @@ package Einfo is
-- String_Literal_Length (Uint16)
-- First_Index (Node17) (always Empty)
-- Packed_Array_Type (Node23)
+ -- Proper_First_Index (synth)
-- (plus type attributes)
-- E_Subprogram_Body
@@ -6532,6 +6540,7 @@ package Einfo is
function Number_Formals (Id : E) return Pos;
function Parameter_Mode (Id : E) return Formal_Kind;
function Primitive_Operations (Id : E) return L;
+ function Proper_First_Index (Id : E) return E;
function Root_Type (Id : E) return E;
function Safe_Emax_Value (Id : E) return U;
function Safe_First_Value (Id : E) return R;
OpenPOWER on IntegriCloud