summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch9.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-09 09:30:25 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-09 09:30:25 +0000
commitff6293ec0850332d7db6b8ef2abf8bff148549d7 (patch)
tree03c02110dc23c5d5b1ba8f33d7893b76d1b19134 /gcc/ada/exp_ch9.adb
parent9e4180f5e06b2323997b86f3671c59e4f671f7f3 (diff)
downloadgcc-ff6293ec0850332d7db6b8ef2abf8bff148549d7.tar.gz
2010-09-09 Robert Dewar <dewar@adacore.com>
* prj-env.adb: Minor code reorganization. * par-ch3.adb: Minor reformatting. * gcc-interface/Make-lang.in: Update dependencies. 2010-09-09 Ed Schonberg <schonberg@adacore.com> * exp_ch9.adb (Build_Activation_Chain_Entity): The construct enclosing a task declaration can be an entry body. 2010-09-09 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_DT): Decorate as "static" variables containing tags of library level tagged types. (Make_Tags): Disable backend optimizations about aliasing for declarations of access to dispatch tables. 2010-09-09 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Reset_Entity): If the entity is an itype created as a subtype for a null-excluding access type, recover the original subtype_mark to get the proper visibility on the original name. 2010-09-09 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Build_Untagged_Equality): For Ada2012, new procedure to create the primitive equality operation for an untagged record. The operation is the predefined equality if no record component has a user-defined equality, or if there is a user-defined equality for the type as a whole, or when the type is derived and it has an inherited equality. Otherwise the body of the operations is built as for tagged types. (Expand_Freeze_Record_Type): Call Build_Untagged_Equality when needed. (Make_Eq_Body): New function to create the expanded body of the equality operation for tagged and untagged records. In both cases the operation composes, and the primitive operation of each record component is used to generate the equality function for the type. * exp_ch4.adb (Expand_Composite_Equality): In Ada2012, if a component has an abstract equality defined, replace its call with a Raise_Program_Error. * sem_ch6.adb (New_Overloaded_Entity): if Ada2012, verify that a user-defined equality operator for an untagged record type does not happen after type is frozen, and appears in the visible part if partial view of type is not limited. 2010-09-09 Tristan Gingold <gingold@adacore.com> * gnatlbr.adb: Make Create_Directory more portable: use __gnat_mkdir. 2010-09-09 Bob Duff <duff@adacore.com> * gnat_ugn.texi: Remove incorrect statement about -E being the default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164055 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_ch9.adb')
-rw-r--r--gcc/ada/exp_ch9.adb2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb
index 2aec546e91a..192c996bb9f 100644
--- a/gcc/ada/exp_ch9.adb
+++ b/gcc/ada/exp_ch9.adb
@@ -829,10 +829,12 @@ package body Exp_Ch9 is
begin
-- Loop to find enclosing construct containing activation chain variable
+ -- The construct is a body, a block, or an extended return.
P := Parent (N);
while not Nkind_In (P, N_Subprogram_Body,
+ N_Entry_Body,
N_Package_Declaration,
N_Package_Body,
N_Block_Statement,