aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/einfo.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2013-01-03 11:58:47 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2013-01-03 11:58:47 +0100
commit02217452f075702efcab7aceff594d8c4952600e (patch)
tree748874df3dc0a3314fe920a2323c47f25ce1db05 /gcc/ada/einfo.ads
parent8398e82eccc1a725ed34a9c81be37a7c2bec9bda (diff)
downloadgcc-02217452f075702efcab7aceff594d8c4952600e.zip
gcc-02217452f075702efcab7aceff594d8c4952600e.tar.gz
gcc-02217452f075702efcab7aceff594d8c4952600e.tar.bz2
[multiple changes]
2013-01-03 Thomas Quinot <quinot@adacore.com> * exp_ch11.adb: Minor reformatting. 2013-01-03 Thomas Quinot <quinot@adacore.com> * exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb, sem_ch13.adb (Einfo.Initialization_Statements, Einfo.Set_Initialization_Statements): New entity attribute for objects. (Exp_Util.Find_Init_Call): Handle case of an object initialized by an aggregate converted to a block of assignment statements. (Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze even for objects that require a constant address, because the address expression might involve entities that have yet to be elaborated at the point of the object declaration. (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does not require a transient scope, capture the assignment statements in a block so that they can be moved down after elaboration of an address clause if needed. (Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants, case N_Unchecked_Conversion): Do not replace operand subtype with its base type as this violates a GIGI invariant if the operand is an identifier (in which case the etype of the identifier is expected to be equal to that of the denoted entity). 2013-01-03 Javier Miranda <miranda@adacore.com> * sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the functionality of this routine to cover cases described in the Ada 2012 reference manual. 2013-01-03 Ed Schonberg <schonberg@adacore.com> * sem_elab.adb (Set_Elaboration_Constraint): Handle properly a 'Access attribute reference when the subprogram is called Initialize. 2013-01-03 Arnaud Charlet <charlet@adacore.com> * s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a select statement may be called from a controlled (e.g. Initialize) operation and have abort always deferred. From-SVN: r194847
Diffstat (limited to 'gcc/ada/einfo.ads')
-rw-r--r--gcc/ada/einfo.ads10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads
index f640771..55acb34 100644
--- a/gcc/ada/einfo.ads
+++ b/gcc/ada/einfo.ads
@@ -1932,6 +1932,12 @@ package Einfo is
-- the end of the package declaration. For objects it indicates that the
-- declaration of the object occurs in the private part of a package.
+-- Initialization_Statements (Node28)
+-- Defined in constants and variables. For a composite object initialized
+-- initialized with an aggregate that has been converted to a sequence
+-- of assignments, points to a block statement containing the
+-- assignments.
+
-- Inner_Instances (Elist23)
-- Defined in generic units. Contains element list of units that are
-- instantiated within the given generic. Used to diagnose circular
@@ -5104,6 +5110,7 @@ package Einfo is
-- Prival_Link (Node20) (privals only)
-- Interface_Name (Node21) (constants only)
-- Related_Type (Node27) (constants only)
+ -- Initialization_Statements (Node28)
-- Has_Alignment_Clause (Flag46)
-- Has_Atomic_Components (Flag86)
-- Has_Biased_Representation (Flag139)
@@ -5773,6 +5780,7 @@ package Einfo is
-- Debug_Renaming_Link (Node25)
-- Last_Assignment (Node26)
-- Related_Type (Node27)
+ -- Initialization_Statements (Node28)
-- Has_Alignment_Clause (Flag46)
-- Has_Atomic_Components (Flag86)
-- Has_Biased_Representation (Flag139)
@@ -6217,6 +6225,7 @@ package Einfo is
function In_Package_Body (Id : E) return B;
function In_Private_Part (Id : E) return B;
function In_Use (Id : E) return B;
+ function Initialization_Statements (Id : E) return N;
function Inner_Instances (Id : E) return L;
function Interface_Alias (Id : E) return E;
function Interface_Name (Id : E) return N;
@@ -6809,6 +6818,7 @@ package Einfo is
procedure Set_In_Package_Body (Id : E; V : B := True);
procedure Set_In_Private_Part (Id : E; V : B := True);
procedure Set_In_Use (Id : E; V : B := True);
+ procedure Set_Initialization_Statements (Id : E; V : N);
procedure Set_Inner_Instances (Id : E; V : L);
procedure Set_Interface_Alias (Id : E; V : E);
procedure Set_Interface_Name (Id : E; V : N);