diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-04 13:02:44 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-04 13:02:44 +0000 |
commit | ba502e2bb99362d8916797aaa6b6cf44016ae714 (patch) | |
tree | cb6541747ff86af28069e975fb55ae8015015976 /gcc/ada/exp_ch4.adb | |
parent | ba33856e94d16c663e1334e7de4c8d46c5a33d80 (diff) | |
download | gcc-ba502e2bb99362d8916797aaa6b6cf44016ae714.tar.gz |
2014-08-04 Yannick Moy <moy@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): In GNATprove mode,
do not generate two Itypes with the same name for an array
definition.
* sinfo.ads: Expand doc on GNATprove mode.
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Expand_Freeze_Record_Type): Set the finalization
master and storage pool attributes on the root type of an
anonymous access type.
* exp_ch4.adb (Expand_N_Allocator): Set the finalization master
and storage pool attributes on the root type of an anonymous
access type.
2014-08-04 Arnaud Charlet <charlet@adacore.com>
* exp_ch3.adb: Minor reformatting.
* tb-alvms.c, tb-alvxw.c, tb-ivms.c: Removed.
* tracebak.c: Remove use of above files.
* gcc-interface/Makefile.in: Update dependencies.
2014-08-04 Pierre-Marie Derodat <derodat@adacore.com>
* gcc-interface/utils.c (gnat_set_type_context): Also set the
context for parallel types' TYPE_STUB_DECL. Do not change
anything if the context is already set for them.
(gnat_pushdecl): Update the comment for calls to
gnat_set_type_context to mention parallel types.
(add_parallel_type): When adding a context-less parallel type to
a type that has a context, propagate the context from the latter
type to the former.
(process_deferred_decl_context): Call gnat_set_type_context
rather than manually setting the type context.
(build_unc_object_type): Call gnat_set_type_context on the
template type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213584 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_ch4.adb')
-rw-r--r-- | gcc/ada/exp_ch4.adb | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb index dfa22bd70ae..9068fdcdfbb 100644 --- a/gcc/ada/exp_ch4.adb +++ b/gcc/ada/exp_ch4.adb @@ -1124,10 +1124,11 @@ package body Exp_Ch4 is -- Inherit the allocation-related attributes from the original -- access type. - Set_Finalization_Master (Def_Id, Finalization_Master (PtrT)); + Set_Finalization_Master + (Def_Id, Finalization_Master (PtrT)); - Set_Associated_Storage_Pool (Def_Id, - Associated_Storage_Pool (PtrT)); + Set_Associated_Storage_Pool + (Def_Id, Associated_Storage_Pool (PtrT)); -- Declare the object using the previous type declaration @@ -4318,26 +4319,29 @@ package body Exp_Ch4 is -- Anonymous access-to-controlled types allocate on the global pool. -- Do not set this attribute on .NET/JVM since those targets do not - -- support pools. + -- support pools. Note that this is a "root type only" attribute. if No (Associated_Storage_Pool (PtrT)) and then VM_Target = No_VM then if Present (Rel_Typ) then Set_Associated_Storage_Pool - (PtrT, Associated_Storage_Pool (Rel_Typ)); + (Root_Type (PtrT), Associated_Storage_Pool (Rel_Typ)); else Set_Associated_Storage_Pool - (PtrT, RTE (RE_Global_Pool_Object)); + (Root_Type (PtrT), RTE (RE_Global_Pool_Object)); end if; end if; -- The finalization master must be inserted and analyzed as part of -- the current semantic unit. Note that the master is updated when - -- analysis changes current units. + -- analysis changes current units. Note that this is a "root type + -- only" attribute. if Present (Rel_Typ) then - Set_Finalization_Master (PtrT, Finalization_Master (Rel_Typ)); + Set_Finalization_Master + (Root_Type (PtrT), Finalization_Master (Rel_Typ)); else - Set_Finalization_Master (PtrT, Current_Anonymous_Master); + Set_Finalization_Master + (Root_Type (PtrT), Current_Anonymous_Master); end if; end if; |