diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-01-03 11:58:47 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-01-03 11:58:47 +0100 |
commit | 02217452f075702efcab7aceff594d8c4952600e (patch) | |
tree | 748874df3dc0a3314fe920a2323c47f25ce1db05 /gcc/ada/einfo.ads | |
parent | 8398e82eccc1a725ed34a9c81be37a7c2bec9bda (diff) | |
download | gcc-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.ads | 10 |
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); |